正则表达式 选中以某些字符开始,某些字符结尾的字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式 选中以某些字符开始,某些字符结尾的字符串相关的知识,希望对你有一定的参考价值。

例如
选择所有ab开头12结尾的字符串
如vvab00012vv
则选中ab00012 (注意:ab和12也选中)
求解这个应该怎么用正则表达式实现

主要是用正则表达式的分组匹配技术。


1、以某字符结尾:例如sex$;


2、中间不包含该字符串:^((?!sex).*)


3、最后合起来就是:^((?!sex).*)sex$

“正则表达式”选中以某些字符开始,某些字符结尾的字符串?的含义如下:

字符 含意:\\ 做为转意,即通常在"\\"后面的字符不按原来意义解释,如/b/匹配字符"b" ,当b 前面加了反斜杆后/\\b/,转意为匹配一个单词的边界。-或-对正则表达式功能字符的还原,如"*"匹配它前面元字符0次或多次,/a*/将匹配a,aa,aaa ,加了"\\"后,/a\\*/将只匹配"a*"。

^ 匹配一个输入或一行的开头,/^a/匹配"an A",而不匹配"An a"

$ 匹配一个输入或一行的结尾,/a$/匹配"An a",而不匹配"an A"

* 匹配前面元字符0次或多次,/ba*/将匹配b,ba,baa,baaa

+ 匹配前面元字符1次或多次,/ba*/将匹配ba,baa,baaa

? 匹配前面元字符0次或1次,/ba*/将匹配b,ba

(x) 匹配x 保存x 在名为$1...$9的变量中x|y 匹配x 或y,n 精确匹配n 次,n, 匹配n 次以上

n,m 匹配n-m 次,[xyz] 字符集(character set),匹配这个集合中的任一一个字符(或元字符)

[^xyz] 不匹配这个集合中的任何一个字符,[\\b] 匹配一个退格符,\\b 匹配一个单词的边界

\\B 匹配一个单词的非边界,\\cX 这儿,X 是一个控制符,/\\cM/匹配Ctrl-M。

参考技术A 匹配以abc开头,以xyz结尾的字符串
abc.*xyz 等价于 abc(.*)xyz
解释:
.匹配除换行符 \n 之外的任何单个字符。 若要匹配包括 \n 在内的任意字符,请使用诸如 [\s\S] 之类的模式。
*零次或多次匹配前面的字符或子表达式。等效于 0,。
参考技术B ^ab[\w]+12$
如果是整个连续的:\bab[\w]+12\b也行,如果有非字符,可用.+
参考技术C ab.*?12
ab开头12结尾追问

这样不能做到以ab开头啊,我说的开头是段落的开头
上面的例子不太恰当,抱歉

1ab12 不选中
ab12 选中ab12

本回答被提问者采纳

js正则表达式过滤以指定字符开头以指定字符结尾的文本内容

参考技术A 从后台获取的html片段,
图片可能会出现图片的宽度超过屏幕宽度
需要改变图片的宽度,
把图片的宽过滤成width:100%就行
var richtext =JSON.stringify(res.data.data.noticeContent) ;
richtext= richtext.replace(/\width:.*?\px/g, `width: 100%`);

this.ArticleContent = JSON.parse(richtext)
注意从后台获取数据格式的转换

以上是关于正则表达式 选中以某些字符开始,某些字符结尾的字符串的主要内容,如果未能解决你的问题,请参考以下文章

JS如何判断字符串是以指定字符串结尾

如何使用正则表达式匹配不以某些字符开头或结尾的单词?

php 正则表达式匹配不以某些字符开始的字符串

python与正则表达式

仅当字符串的一部分前面没有某些字符时,如何匹配它?

如何编写正则表达式以仅返回此字符串的某些部分?