C# 正则表达式匹配点分隔列表,允许一个或多个单词
我需要一个正则表达式,它允许输入字符串包含一个或多个单词,但列表必须用一个点分隔。例如:C# 正则表达式匹配点分隔列表,允许一个或多个单词,c#,regex,C#,Regex,我需要一个正则表达式,它允许输入字符串包含一个或多个单词,但列表必须用一个点分隔。例如: test = OK test.test = OK test.test.1 = OK test@test = NO test_test = NO test-test1 = NO test. = NO 我的正则表达式可以工作,但也接受其他符号,例如- ^[a-z0-9*.\-_\.:]+$ 试试^[A-Za-z0-9]+(\[A-Za-z0-9]+)*$ [A-Za-z0-9]+匹配单词(字母或数字)
test = OK
test.test = OK
test.test.1 = OK
test@test = NO
test_test = NO
test-test1 = NO
test. = NO
我的正则表达式可以工作,但也接受其他符号,例如-
^[a-z0-9*.\-_\.:]+$
试试^[A-Za-z0-9]+(\[A-Za-z0-9]+)*$
匹配单词(字母或数字)[A-Za-z0-9]+
-匹配以下任何用点分隔的单词(\.[A-Za-z0-9]+)*
^[A-Za-z0-9]+(\[A-Za-z0-9]+)*$
匹配单词(字母或数字)[A-Za-z0-9]+
-匹配以下任何用点分隔的单词(\.[A-Za-z0-9]+)*
如果要确保它不以点开头或结尾,请使用
^[a-zA-Z0-9]+(?:\.[a-zA-Z0-9]+)*$
说明:
-匹配输入的开头^
-匹配字母数字序列[a-zA-Z0-9]+
-非捕获组的开始(?:
-匹配单个\.
-匹配字母数字序列[a-zA-Z0-9]+
-关闭组)
-重复上一组任意次数*
-匹配输入的结尾$
您还可以将
[a-zA-Z0-9]
替换为[^\W_U8;]
,因为这将匹配任何非单词也非下划线的字符。基本上\w
减去\u
字符。如果要确保它不以点开头或结尾,请使用^[a-zA-Z0-9]+(?:\.[a-zA-Z0-9]+)*$
说明:
-匹配输入的开头^
-匹配字母数字序列[a-zA-Z0-9]+
-非捕获组的开始(?:
-匹配单个\.
-匹配字母数字序列[a-zA-Z0-9]+
-关闭组)
-重复上一组任意次数*
-匹配输入的结尾$
您还可以将
[a-zA-Z0-9]
替换为[^\W_U8;]
,因为这将匹配任何非单词也非下划线的字符。基本上是\w
减去\u
字符。为什么不从正则表达式中删除其他符号呢?i、 e.^[a-z0-9.]+$
。如果您想确保它不以点开头或结尾,请使用^[a-z0-9]+(?:\.[a-z0-9]+)*$
为什么测试
正常而测试1
不正常?@John请发布您的答案,我会接受它为什么不从正则表达式中删除其他符号?i、 e.^[a-z0-9.]+$
。如果您想确保它不以点开头或结尾,请使用^[a-z0-9]+(?:\.[a-z0-9]+)*$
为什么测试正常而测试1
不正常?@John请发布您的答案,我会接受它