【发布时间】:2012-04-18 14:42:13
【问题描述】:
您好,我对 Regex 几乎是新手...所以,也许我的问题很简单,但我找不到解决方案!
我正在编写一个正则表达式模式,它查看用户的写作并用另一种颜色绘制所建立的匹配项。 例如,如果用户写这样的东西,我想用另一种颜色绘画:
foo()
问题是我不想画如果用户在那之后写别的东西,我的意思是如果用户只写
"foo()" (or "foo() ")
那没关系,我想画,但如果用户写
"foo()d"
我不想画那个,因为现在写得很好。
我已经编写了匹配“foo()”的正则表达式模式(或者中间也有一个点,比如“foo.foo()”),但我正面临这个问题。 我需要在我的模式中添加一些东西,只允许一个空格,或者什么都没有(如果用户在“)”之后写了其他东西,我不想匹配它。) 这是我的模式:
[a-z]*\.?[a-z]*\(("[^"\r\n]*"|[-]?\b\d+[\.]?\d*\b)?\)
非常感谢!
【问题讨论】:
-
您的要求并不完全清楚。后面还有人物吗?如果没有,你可以用
\s?$结束你的正则表达式。 -
对,这个不行,因为我想让用户继续写……