几个正则表达式查询

时间:2017-02-09 12:59:53

标签: javascript c# regex

我需要一些帮助来编写正则表达式。

这是我的第一个正则表达式(匹配英语或希伯来语字符):

/^(?:[\u0590-\u05FF\uFB1D-\uFB40]+|[\w]+)$/i

这应该匹配:abc,אבג 这不应该匹配:a,b,aא

它工作正常,我只需要为超过1个字符添加限制。

下一个应该与上面的一个完全相同(包括超过1个字符 限制)但也允许空格。 这应该匹配:abcx,abcx ascx,דגהק,שגדדשגב 这不应该匹配:a,b,asaceדגעההת,ascasvאקיכרעקכ

最后一个Regex表达式应该是所有数字,包含正好10个数字 并从数字05开始。 这应该匹配:0528547114 这不应该匹配:数字,特殊字符,少于或多于 10位数。 我正在使用JS和C#Regex。 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

要匹配多个字符,请使用量词{2,}代替+

/^(?:[\u0590-\u05FF\uFB1D-\uFB40]{2,}|[\w]{2,})$/i

要匹配空格,请将其添加到字符类中:

/^(?:[\u0590-\u05FF\uFB1D-\uFB40 ]{2,}|[\w ]{2,})$/i

匹配10位数字:

/^(?:[\u0590-\u05FF\uFB1D-\uFB40 ]{2,}|[\w ]{2,}|05\d{8})$/i

匹配由一个空格分隔的多个单词:

/^(?:[\u0590-\u05FF\uFB1D-\uFB40]{2,}(?: [\u0590-\u05FF\uFB1D-\uFB40]{2,})*|\w{2,}(?: \w{2,})*|05\d{8})$/i