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

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

需要匹配:中国人
解释:(姓名:)是不变的,(中国人)可能是其他,(中国人)后面的逗号(,)是固定的
展开
 我来答
无和有
高粉答主

2019-11-12 · 自由是我的最大追求,无中生有
无和有
采纳数:65 获赞数:45777

向TA提问 私信TA
展开全部

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

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

扩展资料

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

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

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

百度网友8b2795b
高粉答主

2020-03-01 · 说的都是干货,快来关注
知道小有建树答主
回答量:461
采纳率:100%
帮助的人:17.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。

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

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
王律师案件普法

2019-11-26 · TA获得超过35.9万个赞
知道大有可为答主
回答量:374
采纳率:89%
帮助的人:35.6万
展开全部

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

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

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2018-02-11
展开全部
(姓名:)(.*)(,)(.*)
这样取\2 得到的是:中国人,地址

(姓名:)(.*)(,)(.*)(,)(.*)
这样\2 得到的是:中国人
更多追问追答
追问
关键后面有多少个逗号我也不知道,我只知道中国人后面是一个逗号
谢谢你,我目前用:"姓名:[^,]+"
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我的名字叫瓜菜
2018-02-10
知道答主
回答量:2
采纳率:0%
帮助的人:2101
展开全部
(?<=\b姓名:).*(?=,地址)
目前也有这样的需求,应该还有更好的方式,这个简单测了一下应该满足需要
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式