一个正则表达式中的多个表达式

Posted

技术标签:

【中文标题】一个正则表达式中的多个表达式【英文标题】:Multiple expressions in one Regular expression 【发布时间】:2017-01-16 20:12:59 【问题描述】:

我写了下面的正则表达式

字符串有效数字 = @"^[a-zA-Z]2[0-9]7$";

这将允许像“AA1234567”这样的数字。

我想编写正则表达式以允许在一个表达式中使用以下格式“AA1234567-12345”或“AA1234567”。

谁能帮我写一下怎么写

【问题讨论】:

^[a-zA-Z]2[0-9]7(?:-[0-9]+)?$ 这里的规则是什么?您是否尝试过更新模式?什么不起作用? 它允许“QQ1234567”格式,但不允许“QQ1234567-12345”格式。 @revo 我想在一个正则表达式@WiktorStribiżew 中允许两种格式的“AA1234567-12345”或“AA1234567”字符串 您的正则表达式没有任何内容。我刚刚添加了一个可选的非捕获组,它可以工作。重新检查您尝试的方式。 【参考方案1】:

你可以试试"^[a-zA-Z]2[0-9]7(?:-[0-9]5)?$

【讨论】:

以上是关于一个正则表达式中的多个表达式的主要内容,如果未能解决你的问题,请参考以下文章

js正则表达式获取多个中括号[]中的内容

SQL中的正则表达式来检测一个或多个数字

Perl 中的正则表达式组:如何从正则表达式组中捕获与字符串中出现的未知数量/多个/变量匹配的元素到数组中?

4-19 Linux中的正则表达式 --- 字符匹配

精确匹配正则表达式中的多个单词(数据表)

java的一个匹配多个邮箱的地址的正则表达式问题。