我正在尝试为这种类型的字符串(hello(world))
制作正则表达式
我做了这个正则表达式\([a-zA-Z]\([a-zA-Z])*\)\)
,但它给出了错误......我应该怎样做才能使它正常工作....
答案 0 :(得分:1)
在正则表达式中,括号是一个特殊字符。如果你想按字面意思匹配它们,你需要用反斜杠来逃避它们:\(
。 编辑:看起来你逃脱了大部分内容,但在你的问题中没有代码格式化。修复此问题,并且只有一个丢失的转义)
。
你也错过了一个量词(在这种情况下,另一个*
或+
会起作用),它可以使它与你的字符串相匹配,而你在那里的量词是错误的立场。这应该适合你:
\([a-zA-Z]*\([a-zA-Z]*\)\)
这里有一个regex101来玩:https://regex101.com/r/kQ0xT0/1
您还可以对大多数正则表达式语言使用/i
不区分大小写的修饰符 - 这样您就可以只编写[a-z]
而不是[a-zA-Z]
。见https://regex101.com/r/pT9kV1/1