[英]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.