免责声明:我是新来编写正则表达式的人,所以唯一的问题可能是我缺乏经验。
我正在尝试编写一个正则表达式,该表达式将在括号内找到数字,并且我希望数字和括号都包含在选择中。但是,我只希望它在字符串的开头匹配。因此,在下面的文本中,我希望它得到(10),而不是(2)或(图50)。
(10) Joystick Switch - Contains control switches (Figure 50)
Two (2) heavy lifting straps
Run Code Online (Sandbox Code Playgroud)
到目前为止,我有(\(\d+\))(10)但也有(2)。我知道^应该与字符串(或行)的开头匹配,但我无法使其工作。在这里和其他站点上,我都看过很多类似的问题,但是只发现了部分解决方案(在括号内查找内容,仅在字符串的开头找到数字等),但还不太清楚能够将它们组合在一起工作。
我正在使用它在CAT工具中(针对翻译中的您)创建过滤器,这意味着不涉及其他编码语言。本质上,我一直在使用RegExr来测试我编写的所有其他表达式,而且效果很好。
正则表达式应为
^\(\d+\)
Run Code Online (Sandbox Code Playgroud)
^ 在字符串的开头锚定正则表达式。
\(火柴(。应该转义,因为它在正则表达式中具有特殊含义
\d+ 匹配一个或多个数字
\) 符合 )
(\(\d+\))不需要像这样的括号,因为该模式中没有匹配的其他字符。仅当您需要从匹配的图案中提取零件时才需要
例如,如果您想匹配(50)但要提取数字,50则可以从模式中使用
\((\d+)\)
Run Code Online (Sandbox Code Playgroud)
这里的\d+部分在捕获的组1中,也就是说,捕获的组1将是50匹配的整个字符串所在的位置(50)
| 归档时间: |
|
| 查看次数: |
2745 次 |
| 最近记录: |