正则表达式从String中查找特殊字符,但有一些例外

时间:2009-02-13 18:07:02

标签: regex

我需要编写一个小的正则表达式,当它与任何其他特殊字符一起出现时应与文字字符*的出现相匹配。例如,我需要捕获所有这些事件!* )* (* ** *.*。例外情况是*==*,我想允许这样做。我试着把正则表达式写为

\W&&[^=]\*|\*\W&&[^=]

但这似乎不起作用。有什么建议?非常感谢你的帮助。

4 个答案:

答案 0 :(得分:2)

(\*[^\w=]|[^\w=]\*)

匹配星号后跟任何非单词字符(等号除外),或非字字符后跟星号/

答案 1 :(得分:1)

那个匹配所有样本:

(\!\*|\)\*|\(\*|\*\*|\*\.\*)

如果您想要超过这4个案例,请更好地描述一下,允许什么以及禁止什么。

答案 2 :(得分:1)

试试这个

([^(\W\*)*(\*\W)*]|=\*|\*=)

答案 3 :(得分:0)

我认为你正在寻找lookbehind and lookahead assertions的正则表达式。类似的东西:

(?!=[\=\s])\*(?![\=\s])