正则表达式使用小结

前端之家收集整理的这篇文章主要介绍了正则表达式使用小结前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

在线测试工具

正则表达式语言由两种字符组成:原意文本字符和元字符。元字符使得表达式具有处理能力,如 [ ] ,*,^,\w 之类的。

简单的介绍下常见的几个:


1.针对但个字符匹配的元字符:

\x : 转义字符。将字符转义。比如 \b 就不是斜线 和字符b的意思了,而是元字符,代表单词边界的意义了。

. :匹配除\n以外的任何字符。

[] :匹配中括号中的其中一个字符。如[abc],[a-z],[^abc]

\d :匹配0-9的数字。

\w :匹配单个字符,字母数字或者下划线。[a-zA-Z0-9]

\s :匹配任意的空白字符。



2.针对字符串的限定符:

\b :单词边界。

$ :匹配以指定的字符串结尾。 如ab$。

^ :字符串必须以指定字符串开始。 "^hh" :字符串必须以hh 开始。

* :匹配零个到多个的字符。

? :匹配零个到一个字符。

{} :匹配多个字符。如 {n},{n,},{n,m}

+ :匹配至少一个字符。


还有一个特殊的字符:

\ :转义字符,如果想是单纯的字符"\"和"w"使用,那么就得转义 :\\w


1.分割汉字

分割汉字 不能直接使用splite()方法分割汉字。

String res = "四川省成都市武侯区高升桥路2号-附3号";
		String strin = "";
		if (res.contains("路")) {
			int i = res.indexOf("路");
			strin = res.substring(0,i + 1);
		}

上面的例子是按“路分割,得到前面的字符串。

2.\(?0\d{2}[) -]?\d{8}

这个表达式可以匹配几种格式的电话号码,像(010)88886666,或022-22334455,或02912345678等。我们对它进行一些分析吧:首先是一个转义字符\(,它能出现0次或1次(?),然后是一个0,后面跟着2个数字(\d{2}),然后是)-空格中的一个,它出现1次或不出现(?),最后是8个数字(\d{8})。这个表达式可以匹配几种格式的电话号码,像(010)88886666,或022-22334455,或02912345678等。我们对它进行一些分析吧:首先是一个转义字符\(,然后是一个0,后面跟着2个数字(\d{2}),然后是)-空格中的一个,它出现1次或不出现(?),最后是8个数字(\d{8})。


注意:

1.对于中文字符的匹配是采用其对应的 Unicode 编码来匹配的,对于单个 Unicode 字符,如 \u4e00 表示汉字“一”, \u9fa5 表示汉字“龥”,在 Unicode 编码中这分别是所能表示的汉字的第一个和最后一个的 Unicode 编码,在 Unicode 编码中能表示 20901 个汉字。

原文链接:https://www.f2er.com/regex/362079.html

猜你在找的正则表达式相关文章