2015-05-02 135 views
0

我试图找出符合条件的字符串:

  • 开始以“$”
  • 其次是整数(1或2位数字)
  • 跟随由 “=”
  • 包含 “(” 和 “)”

实例:

$6=192 (step port invert mask, int:11000000) 
$7=25 (step idle delay, msec) 
$8=10.000 (acceleration, mm/sec^2) 
$9=0.050 (junction deviation, mm) 
$10=0.100 (arc, mm/segment) 
$11=25 (n-arc correction, int) 

第一位很容易被^ [$],但我无法弄清楚如何组合和同时测试单个和两个数字。

+0

哪里的'('或')'的位置? – Kasramvd

回答

0

我认为这是你在找什么:

'^\$\d+=.*\(.*\).*' 
+0

是的,这并不完全匹配1或2位数字,但我认为这里真正的问题是匹配整数(从示例的格式),而不是从字面上理解。 –

+0

是的,这似乎工作。做更多的测试 –

0
\d\d? 
\d{1,2} 
\d|\d\d 

三种不同的方式匹配一个或两个数字。当UNICODE模式未设置时(默认),\d相当于[0-9]

0

\$\d{1,2}\=\(.*\)

=后,没有什么?但你的例子后面有数字。我的例子不匹配那些数字。

1

尝试此正则表达式

^\ $ \ d {1,2} = \ d +(。+)

相关问题