正则表达式在括号中查找数字,但仅在字符串开头

ust*_*t9n 2 regex

免责声明:我是新来编写正则表达式的人,所以唯一的问题可能是我缺乏经验。

我正在尝试编写一个正则表达式,该表达式将在括号内找到数字,并且我希望数字和括号都包含在选择中。但是,我只希望它在字符串的开头匹配。因此,在下面的文本中,我希望它得到(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来测试我编写的所有其他表达式,而且效果很好。

nu1*_*73R 5

正则表达式应为

^\(\d+\)
Run Code Online (Sandbox Code Playgroud)
  • ^ 在字符串的开头锚定正则表达式。

  • \(火柴(。应该转义,因为它在正则表达式中具有特殊含义

  • \d+ 匹配一个或多个数字

  • \) 符合 )

  • (\(\d+\))不需要像这样的括号,因为该模式中没有匹配的其他字符。仅当您需要从匹配的图案中提取零件时才需要

    例如,如果您想匹配(50)但要提取数字,50则可以从模式中使用

    \((\d+)\)
    
    Run Code Online (Sandbox Code Playgroud)

    这里的\d+部分在捕获的组1中,也就是说,捕获的组1将是50匹配的整个字符串所在的位置(50)

正则表达式演示