请教一个匹配字符串规则的正则表达式

目标字符: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

回到顶部