我正在尝试为这种类型的字符串制作正则表达式#34; (你好(世界))"

时间:2015-03-05 18:05:10

标签: regex

我正在尝试为这种类型的字符串(hello(world))制作正则表达式 我做了这个正则表达式\([a-zA-Z]\([a-zA-Z])*\)\),但它给出了错误......我应该怎样做才能使它正常工作....

1 个答案:

答案 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