有人可以告诉我怎样才能编写正则表达式匹配abc.com.ae或abc.net.af或其他任何东西,ae是字符串中的最后一个是可选的
这是成功的/但不是。不知道为什么
^[a-z]{1,25}.[a-z]{3}$
答案
^[a-z]{1,30}\.[a-z]{3}((\.)[a-z]{2})?$
答案 0 :(得分:4)
答案是:写\.
而不是.
,因为.
表示“任何字符”。
答案 1 :(得分:0)
您可以使用\ u转义码匹配特定字符,然后紧跟十六进制格式的该字符的unicode编号,它也必须只有四位数字。我认为句号是完整的。
在你的'/'工作但不是'。'的例子中,这是因为'/'被识别为普通字符而不需要转义,而句号在c#regex中具有不同的含义(它匹配任何角色。)
如果您仍然不确定,这里是C#中正则表达式的有用指南:http://www.radsoftware.com.au/articles/regexlearnsyntax.aspx 这一个包含网址正则表达式的示例:http://www.radsoftware.com.au/articles/regexsyntaxadvanced.aspx
答案 2 :(得分:0)
我听起来你需要一些环境来学习正则表达式。
学习正则表达式的最佳方法是使用交互式正则表达式模拟器:在表达式中键入,它会立即为您提供结果。
有一些免费(而不是免费)的正则表达式模拟器可用: