簡體   English   中英

檢查單詞前后的字符

[英]Check for characters before and after a word

我需要有一個積極的正則表達式,它結合了以下所有3:

-- ^(.*)\.abc\.(.*)$
-- ^(.*)\.abc$
-- ^abc\.(.*)$

這樣以下情況不適用於正則表達式:

-- 123abc
-- .abc123
-- 123abc.

以下是正面結果:

--.abc
--.abc.
--abc.

我知道這3個條件可以在一組中進行或運算。 我正在尋找更好的溶劑,可能使用了先行劑。

我嘗試使用反向引用: /^.*([\\.]*)abc\\1.*$/但是對於負面情況也是如此。

您可以使用此正則表達式:

^(.*([.;]))?abc((?=[.;])\2.*)?$

正則演示

正則表達式分解:

  • ^ :開始
  • (.*([.;]))? :以任何后跟點或分號(可選的匹配項)開頭。 請注意,我們在捕獲組2中的abc之前捕獲
  • abc :匹配abc
  • ((?=[.;])\\2.*)? :結尾處是我們在abc之前捕獲的相同字符,以及其后的所有字符(可選匹配項)。 前瞻性斷言用於確保我們不匹配空的反向引用\\2
  • $ :結束

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM