正则表达式,匹配特定字符后面的内容

2024-11-17 03:24:42
推荐回答(5个)
回答1:

如果前面是固定的“姓名:”的话,试试(?<=姓名:).*?(?=,\d{11})。

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

扩展资料

正则表达式由一些普通字符和一些元字符(metacharacters)组成。普通字符包括大小写的字母和数字,而元字符则具有特殊的含义,我们下面会给予解释。

在最简单的情况下,一个正则表达式看上去就是一个普通的查找串。例如,正则表达式"testing"中没有包含任何元字符,它可以匹配"testing"和"testing123"等字符串,但是不能匹配"Testing"。

参考资料来源:百度百科-正则表达式

回答2:

(姓名:)(.*)(,)(.*),这样取\2  得到的是:中国人,地址。

1.表达式内固定内容的字符串能不写尽量不写,能简写的尽量简化来写(如前面写的abc部分不能写死)

2.可以少量使用前瞻(正向),后瞻(反向)基本不学,学了还要研究那些浏览器支持,不敢用,太多了也学不动。

3.NoJS(Not Only JavaScript);不仅仅是浏览器中的js;不过js的正则/exp/字面量写法简洁到没盆友(哪个语言),函数、对象、字符串统统不需要。

扩展资料:

在test.txt文件中的每一行中搜索正则表达式r.t,并打印输出匹配的行。正则表达式r.t匹配一个r接着任何一个字符再接着一个t。所以它将匹配文件中的rat和rut,而不能匹配Rotten中的Rot,因为正则表达式是大小写敏感的。

要想同时匹配大写和小写字母,应该使用字符区间元字符(方括号)。正则表达式[Rr]能够同时匹配R和r。所以,要想匹配一个大写或者小写的r接着任何一个字符再接着一个t就要使用这个表达式:[Rr].t。

要想匹配行首的字符要使用抑扬字符(^)——有时也被叫做插入符。例如,想找到text.txt中行首"he"打头的行,你可能会先用简单表达式he,但是这会匹配第三行的the,所以要使用正则表达式^he,它只匹配在行首出现的he。

有时候指定“除了×××都匹配”会比较容易达到目的,当抑扬字符(^)出方括号中时,它表示“排除”,例如要匹配he ,但是排除前面是t or s的情形(也就是the和she),可以使用:[^st]he。

参考资料:百度百科-正则表达式

回答3:

(姓名:)(.*)(,)(.*),这样取\2  得到的是:中国人,地址。

正则表达式对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

正则表达式模式描述在搜索文本时要匹配的一个或多个字符串。

扩展资料:

在正则表达式中,放在圆括号中的是分组,按括号出现顺序可用\1,\2...\9(或$1,$2...$9)引用整个正则用\0或$0引用。因此替换中\1引用了括号中匹配的内容,然后加上要添加的字符。

其中:

\S: 表示匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。

\s: 表示匹配匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。

*: 表示匹配前面的子表达式零次或多次。

[\s\S]: 表示出现空白和非空白中的任意一个字符,即是任意字符。

参考资料来源:百度百科 ——正则表达式

回答4:

(姓名:)(.*)(,)(.*)
这样取\2 得到的是:中国人,地址

(姓名:)(.*)(,)(.*)(,)(.*)
这样\2 得到的是:中国人

回答5:

(?<=\b姓名:).*(?=,地址)
目前也有这样的需求,应该还有更好的方式,这个简单测了一下应该满足需要