请教一个匹配字符串规则的正则表达式
目标字符:330nF(250V)(xx)
我写的正则:^([^ ()]+)(\\(.*?\\))$
有个问题是多个括号如:330nF(250V)(xx)(yy)
也能匹配到,,,想要匹配以下对应关系:330nF(250V
-> 错误330nF(250V )
-> 错误330nF(250V ab)
-> 330nF(250V ab)
330nF(250V)
-> 330nF(250V)
330nF(250V)(xx)
-> 330nF(250V)
330nF(250V)(xx)(yy)
-> 330nF(250V)
回答
你的描述很难懂,我理解就是,你只想匹配到第一个括号完就结束?
^[\da-zA-Z]+?\([\da-zA-Z]+?\)$
更新过的描述其实还是有不明确的地方,看图吧,是要这样的?
你的描述可以有多种解释,不清楚你要的是哪一种
假设你要的是 匹配 330nF(250V)
330nF(250V)(xx)
不匹配 330nF(250V)(xx)(yy)
^([^\\(\\)]+)(\\([^\\(\\)]*\\))(\\([^\\(\\)]*\\))?$
编辑器的问题,\\
请改为 \
看了下,是这个?(\\w+?)\\(\\w+(\\s?)(\\w+?)\\)
校验字符串一共有一个(,一个)不就行了
以上是 请教一个匹配字符串规则的正则表达式 的全部内容, 来源链接: utcz.com/a/64756.html