我有一个正则表达式如下:
^(?!(?:[^-]*-){2}|(?:[^ ]* ){2})[- 0-9]{9,10}$
它是9到10位数字,只允许一个'-'和''(空格),但我想修改它,这将允许一个'-'和''只在字符之间(不是在开始和结束)。
目前,它也允许在开始和结束时使用一个'-'和''(空格)。
如有任何帮助,我们将不胜感激。
您可以将正则表达式表述为:
^(?![^-]*-[^-]*-)(?![^ ]*[ ][^ ]*[ ])\d(?:[ -]?\d){8,9}$
null
null
这是说:
^ from the start of the number
(?![^-]*-[^-]*-) assert zero or one hyphens
(?![^ ]*[ ][^ ]*[ ]) assert zero or one spaces
\d match a single digit
(?: which is then followed by
[ -]? an optional space or hyphen separator
\d and a digit
){8,9} 8 or 9 times (total 9 or 10 digits)
$ end of the number
我试图匹配包含字母数字、连字符、下划线和空格的字符串。 连字符、下划线、空格和数字是可选的,但第一个和最后一个字符必须是字母。 例如,这些都应该匹配: 我试过这个: 但它在开始/结束时与空格、下划线或连字符匹配,但它应该只允许在两者之间。
其中,我需要包括连字符和空格。 这意味着还必须可以输入值“”。
我需要在以下条件下使用C#中的正则表达式匹配字符串: 整个字符串只能是字母数字(包括空格) 最大长度不得超过15个字符(包括空格) 首先 如果这些先决条件中的任何一个被打破,比赛就不会进行。 以下是我目前掌握的情况: 下面是一些应该匹配的测试字符串: 堆栈溢出 伊姆特最伟大的 一个 超人23s 一二三 还有一些不应该匹配的(注意空格): 堆叠 [double_space] 溢流岩石 23你好 这是
我在ASP.NET应用程序中有一个textbox,我需要使用正则表达式来验证用户输入字符串。要求字符串的连字符总数只能为一个。 匹配项: null 测试--您好 -测试- 测试-您好--
为什么下面的正则表达式不匹配连字符(或与号、句号或逗号,尽管我暂时将它们排除在下面的字符类之外)?我在试着匹配字符串... ...(这是单词“hello”的语音表示),并且当字符串中有连字符时,匹配失败(上面列出的与数等相同)。 这种模式... ...起作用,根据regex101.com的说法,它本质上是完全相同的模式,所以我不明白为什么更长的模式不起作用。