RegEx字符串,用于三个字母和两个带前置和后置空格的数字

时间:2010-08-20 20:12:24

标签: javascript regex

两个简单的问题:

  1. 三个字母和两个带前后空格的数字(即“LET 12”)的RegEx字符串是什么?
  2. 您是否碰巧知道任何好的RegEx资源/工具?

6 个答案:

答案 0 :(得分:9)

要获得良好资源,请尝试使用此website和程序RegexBuddy。您甚至可以使用这些网站自己找出问题的答案。

为了让你开始,你需要这样的东西:

/^[a-zA-Z]{3}\s+[0-9]{2}$/

但具体细节取决于您的要求。您可能更好的想法是学习如何自己使用正则表达式,然后编写正则表达式而不是仅仅复制答案。小细节有很大的不同。例子:

  • 什么是“信”?只是A-Z还是外国字母?小写呢?
  • 什么是“号码”?只有0-9还是外国数字?只有整数?只有正整数?可以有前导零吗?
  • 字母和数字之间应该有一个空格吗?或任何数量的空白?甚至没有?
  • 您想在更大的文字中搜索此字符串吗?或者完全匹配一条线?
  • 等。

这些问题的答案将改变正则表达式。从长远来看,学习如何创建正则表达式比完全指定您的要求并等待其他人回复要快得多。

  

我忘了提到前后会有一个空格。我该如何包含它?

您需要再次考虑以下问题:

  • 你的意思是只有一个空间或任何数量的空间?可能并不总是空间,但有时只是?
  • 你的意思是字面上的空格字符或任何空白字符?

我的猜测是:

/^\s+[a-zA-Z]{3}\s+[0-9]{2}\s+$/

答案 1 :(得分:2)

/[a-z]{3} [0-9]{2}/i将匹配3个字母,后跟空格字符,然后是2个数字。 [a-z]是包含字母a到z的character class,而{3}表示您只需要该类的3个成员。空格字符与文字空间匹配(或者,您可以使用\s,这是一个匹配任何空白字符的“速记”字符类。最后的ipattern modifier,指明您的模式不区分大小写。

如果您希望整个字符串只是那个,那么您需要^$/^[a-z]{3} [0-9]{2}$/i

{{1}}

正则表达式资源:

答案 2 :(得分:1)

^([A-Za-z]{3}) ([0-9]{2})$假设字母/数字之间有一个空格,如您的示例所示。这将分别捕获字母和数字。

我使用http://gskinner.com/RegExr/ - 它允许您构建一个正则表达式并使用您自己的文本进行测试。

答案 3 :(得分:0)

\w{3}\s{1}\d{2} 我喜欢this site.

编辑:[a-zA-Z]{3}\s{1}\d{2} - \w也支持数字字符。

答案 4 :(得分:0)

正如您可以从各种各样的答案中看出的那样,RegEx是一个复杂的主题,具有广泛的意见和偏好,通常不止一种方式。这是我的首选解决方案。

^[a-zA-Z]{3}\s*\d{2}$

我使用[a-zA-Z]代替\w,因为\w有时会包含下划线。

\s*允许零个或多个空格。

我尝试尽可能使用角色类,这就是我选择\d的原因。

答案 5 :(得分:0)

试试这个regularrexpression

[^"\r\n]{3,}