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

Regex 正则表达式从字符串中查找特殊字符,但有一些例外,regex,Regex,我需要编写一个小正则表达式,当它与任何其他特殊字符一起出现时,它应该与文字字符*匹配。例如,我需要捕获所有这些事件!*)*(****。例外情况是*=和=*,我希望允许这样做。我尝试将正则表达式作为 \W&&[^=]\*|\*\W&&[^=] 但这似乎不起作用。有什么建议吗?非常感谢您的帮助。那一个与您所有的坏样本都匹配: 如果您想要超过这4种情况,请描述得更好一点,允许哪些情况,禁止哪些情况。这一种情况与您所有的不良样本相匹配: 如果您想要的不止这4种情况,请描

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

\W&&[^=]\*|\*\W&&[^=]
但这似乎不起作用。有什么建议吗?非常感谢您的帮助。

那一个与您所有的坏样本都匹配:

如果您想要超过这4种情况,请描述得更好一点,允许哪些情况,禁止哪些情况。

这一种情况与您所有的不良样本相匹配:


如果您想要的不止这4种情况,请描述得更好一点,允许什么和禁止什么。

我想您正在寻找一个带有的正则表达式。例如:

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

我想你是在找一个正则表达式,比如:

(?!=[\=\s])\*(?![\=\s])
试试这个

([^(\W\*)*(\*\W)*]|=\*|\*=)
试试这个

([^(\W\*)*(\*\W)*]|=\*|\*=)
匹配星号后跟任何非单词字符(等号除外)或非单词字符后跟星号的/


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

谢谢Johannes的回复。但我正在寻找一个适用于任何特殊字符的通用正则表达式。它应该捕获所有组合,除了=和=任何涉及*的特殊字符的出现都要被捕获。唯一的例外是=和=属于\W的任何东西谢谢。啊,好的,perl正则表达式。你使用哪一个库?perl本身?我在Java模式类中使用它。谢谢Johannes的回答。但是我正在寻找一个通用正则表达式,它适用于任何特殊字符。它应该捕获除=和=之外的所有组合,任何涉及*的特殊字符的出现都将被捕获Option是=和=任何属于\W谢谢。啊,好的,perl正则表达式。你使用哪个库?perl本身?我在Java模式类中使用这个。负查找的语法是
(?,而不是
(?!=
)。负查找的语法是
(?,而不是
(?!=
)。