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

姓名:中国人,地址,不详

需要匹配:中国人
解释:(姓名:)是不变的,(中国人)可能是其他,(中国人)后面的逗号(,)是固定的

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

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

扩展资料

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

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

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

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-03-01

(姓名:)(.*)(,)(.*),这样取\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。

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

本回答被网友采纳
第2个回答  2019-11-26

(姓名:)(.*)(,)(.*),这样取\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]: 表示出现空白和非空白中的任意一个字符,即是任意字符。

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

本回答被网友采纳
第3个回答  推荐于2018-02-11
(姓名:)(.*)(,)(.*)
这样取\2 得到的是:中国人,地址

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

关键后面有多少个逗号我也不知道,我只知道中国人后面是一个逗号

谢谢你,我目前用:"姓名:[^,]+"

谢谢你,我目前用:"姓名:[^,]+",但会匹配姓名:

我只要中国人

追答

(姓名:)([^,]+)(.*)
\2

追问

我只要匹配 (姓名:)到最近一个(,)中间的字符,但不要姓名:和,
谢谢!

本回答被提问者和网友采纳
第4个回答  2018-02-10
(?<=\b姓名:).*(?=,地址)
目前也有这样的需求,应该还有更好的方式,这个简单测了一下应该满足需要
相似回答