0

我有一个格式的字符串:

PATTERN 或 abcPATTERNdef 或 PATTERN 或 <<[TEST].[PATTERN]>>

我创建了一个正则表达式(在 JavaScript 中),(^PATTERN)|([^\[]PATTERN)返回前 3 次出现而忽略最后一次出现,但是我似乎也在返回的匹配项中获取了前面的字符:

“PATTERN”、“cPATTERN”和“PATTERN”

我需要的是没有前面字符的匹配项。

我是正则表达式的新手,如果问题反映了这一点,我深表歉意。

任何帮助将不胜感激。

4

2 回答 2

0

我对你想要做什么感到有点困惑。你能看看这是否有效吗?

(^PATTERN)|[^\[](PATTERN)

您是否要查找 PATTERN 之间的所有字符串?

于 2012-10-01T03:06:35.040 回答
0

JavaScript 没有很好的后向支持,但如果你的格式保持不变,你可以尝试这样的事情:

PATTERN(?!])

它匹配所有出现的“PATTERN”,但后面没有].

如果不是这种情况,请告诉我,我将更新我的答案以包括对 opening 的检查[

于 2012-10-01T03:12:00.243 回答