我现在一直在寻找RegEx的帮助,但我想我需要一位专家来帮助我。我认为这可以通过RegEx实现,但无法弄清楚如何。
这是我要找的比赛。如果它不匹配,我想知道:
\w{2,4}\s\d{4}
我基本上想要匹配普通学校的课程名称。要求如下:
如果还有其他变体,我想停止运行下一段代码。我可以很容易地修剪左右两端的空间,但我想确保那里没有别的东西。
我的问题是我当前的表达式允许某人输入COMD 1500-B。我仍然得到一个匹配,我理解为什么,但我想确保如果有人输入超过4个数字我可以停止并抛出错误。除了有超过4个字母。我认为{}
应该是最大的。
答案 0 :(得分:1)
^
表示字符串的开头,$
表示字符串的结尾。因此,^\w{2,4}\s\d{4}$
确保整个字符串与模式匹配,而不仅仅是匹配字符串的子集。
答案 1 :(得分:0)
你应该使用正则表达式
^[a-zA-Z]{2,4}\s+\d{4}$
如果只允许使用大写字母,那么请使用正则表达式
^[A-Z]{2,4}\s+\d{4}$
如果只允许一个空格字符,则将\s+
替换为\s
。如果这样的空格只是空格字符(是的,我们有更多的空白字符),那么用空格字符\s
替换。
^[A-Z]{2,4} \d{4}$