正则表达式
Posted 无憶
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式相关的知识,希望对你有一定的参考价值。
一.分析过程
1.今天就说说正则表达式,1956 年, 一位叫 Stephen Kleene 的数学家在 McCulloch 和 Pitts 早期工作的基础上,发表了一篇标题为"神经网事件的表示法"的论文,引入了正则表达式的概念。正则表达式就是用来描述他称为"正则集的代数"的表达式,因此采用"正则表达式"这个术语。
2.随后,发现可以将这一工作应用于使用 Ken Thompson 的计算搜索算法的一些早期研究,Ken Thompson 是 Unix 的主要发明人。正则表达式的第一个实用应用程序就是 Unix 中的 qed 编辑器。
3.正则表达式是一门灵活性非常强的语言,匹配同样的字符串可能在不同的开发人员那里会得到不同的结果,在平常的时候也是用的时候看看相关资料,不用的时候就丢在脑后了,尽管在处理大部分情况下都能迅速处理,但是处理一些复杂的情况效率仍是不高。
4.一些有用的C#正则表达式:
(1)"^\\d+
"
/
/
非
负
整
数
(
正
整
数
+
0
)
(
2
)
"
[
0
−
9
]
∗
[
1
−
9
]
[
0
−
9
]
∗
" //非负整数(正整数 + 0) (2)"^[0-9]*[1-9][0-9]*
"//非负整数(正整数+0)(2)"[0−9]∗[1−9][0−9]∗" //正整数
(3)"^((-\\d+)|(0+))
"
/
/
非
正
整
数
(
负
整
数
+
0
)
(
4
)
"
−
[
0
−
9
]
∗
[
1
−
9
]
[
0
−
9
]
∗
" //非正整数(负整数 + 0) (4)"^-[0-9]*[1-9][0-9]*
"//非正整数(负整数+0)(4)"−[0−9]∗[1−9][0−9]∗" //负整数
(5)"^-?\\d+KaTeX parse error: Undefined control sequence: \\d at position 13: " //整数 (6)"^\\̲d̲+(\\.\\d+)?" //非负浮点数(正浮点数 + 0)
(7)"^(([0-9]+.[0-9][1-9][0-9])|([0-9][1-9][0-9].[0-9]+)|([0-9][1-9][0-9]))KaTeX parse error: Undefined control sequence: \\d at position 19: …/正浮点数 (8)"^((-\\̲d̲+(\\.\\d+)?)|(0+(…" //非正浮点数(负浮点数 + 0)
5.正则表达式一些应用:
(1)只能输入数字:"1*KaTeX parse error: Can't use function '\\u' in math mode at position 18: … (2)只能输入汉字:"^[\\̲u̲4e00-\\u9fa5]{0,…"。
(3)验证用户密码:"2\\w{5,17}KaTeX parse error: Can't use function '\\(' in math mode at position 53: … (4)验证电话号码:"^(\\̲(̲\\d{3,4}-)|\\d{3.…“正确格式为:“XXX-XXXXXXX”、“XXXX-XXXXXXXX”、“XXX-XXXXXXX”、“XXX-XXXXXXXX”、“XXXXXXX"和"XXXXXXXX”。
(5)验证身份证号(15位或18位数字):”^\\d{15}|\\d{18}
"
。
(
6
)
验
证
一
年
的
12
个
月
:
"
(
0
?
[
1
−
9
]
∣
1
[
0
−
2
]
)
"。 (6)验证一年的12个月:"^(0?[1-9]|1[0-2])
"。(6)验证一年的12个月:"(0?[1−9]∣1[0−2])“正确格式为:“01"~"09"和"1"~"12”。
(7)验证一个月的31天:”^((0?[1-9])|((1|2)[0-9])|30|31)$"正确格式为;"01"~"09。
6下面则是示例
如图所示:
(1)验证图片。
(2)验证电话号码。
(3)长度为
7.元字符(Metacharacter)是拥有特殊含义的字符:
二.总结数据今天我说了正则表达式的一些相关内容,虽然不是很多,但是也让我知道了很多东西,希望对大家有用。
以上是关于正则表达式的主要内容,如果未能解决你的问题,请参考以下文章
正则表达式匹配特定的 URL 片段而不是所有其他 URL 可能性