我是正则表达式的新手,刚开始学习一些.我想知道程序员最常用的正则表达式是什么.换句话说,我想知道什么是最有用的正则表达式?他们怎样才能帮助我完成我的日常任务?我更喜欢知道正则表达式对于每天编程有用,而不是偶尔使用正则表达式这样的电子邮件地址匹配.
任何人?谢谢.
编辑:大多数答案包括匹配电子邮件地址,URL,日期,电话号码等的正则表达式.请注意,并非所有程序员都必须在他们的日常任务中担心这些事情.我想知道正则表达式的一些更通用的用法,如果有的话,一般(可能)使用哪些程序员而不管他们正在使用哪种语言.
mol*_*oco 35
正则表达式示例
小数输入
正整数 ^\d+$
负整数 ^-\d+$
整数 ^-?\d+$
正数 ^\d*\.?\d+$
负数 ^-\d*\.?\d+$
正数或负数 ^-?\d*\.?\d+$
电话号码 ^\+?[\d\s]{3,}$
电话与代码 ^\+?[\d\s]+\(?[\d\s]{10,}$
1900-2099年 ^(19|20)\d{2}$
日期(dd mm yyyy,d/m/yyyy等)
^([1-9]|0[1-9]|[12][0-9]|3[01])\D([1-9]|0[1-9]|1[012])\D(19[0-9][0-9]|20[0-9][0-9])$
Run Code Online (Sandbox Code Playgroud)IP v4:
^(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]){3}$
Run Code Online (Sandbox Code Playgroud)
字母输入
^[\w.']{2,}(\s[\w.']{2,})+$^[\w\d_.]{4,}$^.{6,}$^.{6,}$|^$^[_]*([a-z0-9]+(\.|_*)?)+@([a-z][a-z0-9-]+(\.|-*\.))+[a-z]{2,6}$^([a-z][a-z0-9-]+(\.|-*\.))+[a-z]{2,6}$其他正则表达式
- 匹配无输入 ^$
- 匹配空白输入^\s\t*$
- 匹配新行 [\r\n]|$
- 匹配空格 ^\s+$
- 匹配URL =^http\:\/\/[a-zA-Z0-9.-]+\.[a-zA-Z]{2,3}$
我会对此采取不同的观点,并说知道何时使用正则表达式以及何时不使用它们是最有帮助的.
例如,想象一下这个问题:"弄清楚字符串是否以空白字符结尾." 正则表达式可以用在这里,但如果你使用C#,这段代码是要快得多:
bool EndsWithWhitespace(string s)
{
return !string.IsNullOrEmpty(s) && char.IsWhiteSpace(s[s.Length - 1]);
}
Run Code Online (Sandbox Code Playgroud)
正则表达式很强大,重要的是要知道它们何时对于你想要解决的问题来说太强大了.
考虑需要验证的输入字段,例如邮政编码、电话号码等。正则表达式非常适合用来验证这些。另外,请查看此站点,其中包含许多教程和更多示例,我接下来将介绍其中的一些示例:
数字范围。由于正则表达式处理文本而不是数字,因此匹配特定的数字范围需要额外小心。
匹配浮点数。还说明了将正则表达式中的所有内容设为可选的常见错误。
匹配电子邮件地址。关于什么是匹配电子邮件地址的正确正则表达式存在很多争议。这是一个完美的示例,表明您需要确切地知道要匹配的内容(以及不匹配的内容),并且正则表达式复杂性和准确性之间始终需要权衡。
匹配有效日期。匹配 31-12-1999 但不匹配 31-13-1999 的正则表达式。
查找或验证信用卡号。验证订单上输入的信用卡号码。在文件中查找信用卡号码以进行安全审核。
还有更多、更多、更多可能的应用。
| 归档时间: |
|
| 查看次数: |
15045 次 |
| 最近记录: |