Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
2.6k views
in Technique[技术] by (71.8m points)

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

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

更新过的描述其实还是有不明确的地方,看图吧,是要这样的?

image


你的描述可以有多种解释,不清楚你要的是哪一种

假设你要的是 匹配 330nF(250V) 330nF(250V)(xx)
不匹配 330nF(250V)(xx)(yy)

^([^\(\)]+)(\([^\(\)]*\))(\([^\(\)]*\))?$

编辑器的问题,\ 请改为


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...