关于正则表达式的特殊符号的处理之前自己在提取一个表达式一直提取不到,后来解决了,记录下知识点

Posted 把苹果咬哭

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于正则表达式的特殊符号的处理之前自己在提取一个表达式一直提取不到,后来解决了,记录下知识点相关的知识,希望对你有一定的参考价值。

1.开始的表达式:"drugLicenseCompanyperson":[{"pk":"(.*?)"

2.修改后的表达式:"drugLicenseCompanyperson":\[\{"pk":"(.*?)"

这里就是对 [ 和{ 这样的符号未做处理

------------------------来自菜鸟教程--------------------------------

特殊字符

所谓特殊字符,就是一些有特殊含义的字符,如上面说的 runoo*b 中的 *,简单的说就是表示任何字符串的意思。如果要查找字符串中的 * 符号,则需要对 * 进行转义,即在其前加一个 \: runo\*ob 匹配 runo*ob。

许多元字符要求在试图匹配它们时特别对待。若要匹配这些特殊字符,必须首先使字符"转义",即,将反斜杠字符\ 放在它们前面。下表列出了正则表达式中的特殊字符:

特别字符描述
$ 匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 ‘\n‘ 或 ‘\r‘。要匹配 $ 字符本身,请使用 \$。
( ) 标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 \( 和 \)。
* 匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 \*。
+ 匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 \+。
. 匹配除换行符 \n 之外的任何单字符。要匹配 . ,请使用 \. 。
[ 标记一个中括号表达式的开始。要匹配 [,请使用 \[。
? 匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。要匹配 ? 字符,请使用 \?。
\ 将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符。例如, ‘n‘ 匹配字符 ‘n‘。‘\n‘ 匹配换行符。序列 ‘\\‘ 匹配 "\",而 ‘\(‘ 则匹配 "("。
^ 匹配输入字符串的开始位置,除非在方括号表达式中使用,此时它表示不接受该字符集合。要匹配 ^ 字符本身,请使用 \^。
{ 标记限定符表达式的开始。要匹配 {,请使用 \{。
| 指明两项之间的一个选择。要匹配 |,请使用 \|。

以上是关于关于正则表达式的特殊符号的处理之前自己在提取一个表达式一直提取不到,后来解决了,记录下知识点的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式特殊符号及用法

在线等!!如何使用正则表达式去除特殊符号

iOS 正则表达式去除特殊符号

关于grep的使用以及正则表达式

正则表达式替换特殊符号(高分)

java 中的字符串处理--正则表达式