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

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

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


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

没问题,我只需要添加1个以上字符的limitaion。

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

最后一个Regex表达式应为全数字,正好包含10个数字
并以数字05开头。
这应该匹配:0528547114
不应匹配:数字,特殊字符,小于或大于
10位数字。
我正在使用JS和C#正则表达式。
任何帮助将非常感激。

最佳答案

要匹配多个字符,请使用量词{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

09-25 19:54