正则表达式,包含名称 + "string" + 数字,没有其他内容

Regular expression, containing a name + "string" + number and nothing else

本文关键字:其他 string 包含名 正则表达式 数字      更新时间:2023-10-16

我想过滤一些包含字符串的名称,例如"name"后面跟着字符串"-完整"后面跟着一个数字,后面没有任何内容。例如

  1. myName-完整23(ok(
  2. 其他-整个24(好(
  3. name-整个25 blub(不好,因为字符串blub(
  4. 其他东西——整整25米(不好,因为m(

我试过"/\w*-完整\d*/g"匹配到数字,但如何检查数字之后是否为空,没有数字,没有字母或其他什么?

$将匹配项锚定到字符串的末尾:"/\w*-完整\d*$/g">

其他评论:

  • 您可能想用^来锚定开始
  • 我对那些*量词深表怀疑。您几乎肯定想要+(意思是"一个或多个"(
  • 我倾向于用s*s+替换这些空间,以允许可变数量的空间

我已经用Javascript编写了正则表达式。请检查它们,并在C++中相应地使用它们

正则表达式是

/[A-z]+s-sentiresd+$/

示例:

/[A-z]+s-sentiresd+$/.test('myName - entire 23'); //passes
/[A-z]+s-sentiresd+$/.test('somethingElse - entire 24'); //passes
/[A-z]+s-sentiresd+$/.test('name - entire 25 blub'); //fails
/[A-z]+s-sentiresd+$/.test('somethingElse - entire 25m'); //fails

感谢您的快速支持,现在我有了正确的答案:表达式为:w*s*-s*entires*d*$,它按预期工作。