0

我正在尝试匹配“组织”一词的出现,但不匹配出现在方括号之间的词:

示例字符串:

组织“ [组织名称]”每个组织必须至少包含一个用户。[organization] 的 ID [id] 只能包含数字

我尝试使用:

(?:^|\s)(organization)(?!])

但我正在使用的应用程序中唯一支持的风格是POSIX Extended Regex。

4

2 回答 2

0

出现“组织”一词,但没有出现在方括号之间

最短的方法是(?!<\[)(organization)(?!=\]).

我正在使用的应用程序中唯一支持的风格是 POSIX Extended Regex。

由于您无法使用负面环视:([^[]|^)(organization)([^]]|$).

这不匹配[organizationand organization]; 如果您希望它在缺少左括号或右括号时成功,则必须显式添加这些情况:

([^[]|^)(organization)([^]]|$)|\[(organization)([^]]|$)|([^[]|^)(organization)\]
于 2018-04-09T12:12:15.237 回答
0

是的,你是对的括号中的出现不应该匹配

感谢您的帮助!我终于使用了这个变体:

([^\[]|^)(organization)([^\]]|$)

我不得不逃避范围内的 [

于 2018-04-09T13:46:33.897 回答