我正在尝试找到一个只能从语言字符串中提取特定单词的正则表达式。
字符串由分号;
分隔,并且只能包含(在此示例中)"Norwegian"
。 "Norwegian"
内"Bokmål, Norwegian"
不是"Norwegian"
而是仅Norwegian; Bokmål, Norwegian; Norwegian Bokmål; Norwegian
。
在这个示例中,我希望在字符串的开头和结尾有2个匹配,但它可能在任何地方:
mylist=['one','two','three','four']
mystring='thr'
答案 0 :(得分:0)
这个正则表达式:
(; Norwegian;)|(; Norwegian$)|(^Norwegian;)
...会在字符串的中间,结尾或开头匹配"Norwegian"
单独。
答案 1 :(得分:-1)
您可以使用分号边界。
(?<![^;])\s*Norwegian\s*(?![^;])
https://regex101.com/r/y13LBb/1
格式化
(?<! [^;] )
\s* Norwegian \s*
(?! [^;] )
无后悔更新
(?:^|;)\s*(Norwegian)\s*(?![^;])
https://regex101.com/r/E6cKO9/1
(?: ^ | ; )
\s*
( Norwegian ) # (1)
\s*
(?! [^;] )