正则表达式以啥结尾
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式以啥结尾相关的知识,希望对你有一定的参考价值。
$匹配输入字符串的结束位置。
如果正则只有精确匹配是没多大意义的,比如/hello/,也只能匹配字符串中的hello这个子串,正则表达式之所以强大,是因为其能实现模糊匹配,而模糊匹配,有两个方向上的模糊,横向模糊和纵向模糊。
横向模糊是一个正则可匹配的字符串的长度不是固定的,可以是多种情况的,其实现的方式是使用量词。譬如m,n,表示连续出现最少m次,最多n次。比如/ab2,5c/表示匹配这样一个字符串,第一个字符是a,接下来是2到5个字符b,最后是字符c。
扩展资料:
注意事项:
在正则表达式中()里面的表达式,这些括号中的表达式匹配到的元素,会被捕获到内存中,就是上面preg_match和preg_match匹配的数组中除第一个以外的数组部分。
如果正则表达式中有子表达式,则正则表达式使用单引号括起来。
在任何不匹配 pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说该匹配不需要获取供以后使用。例如Windows (?!95|98|NT|2000)能匹配 Windows 3.1中的 Windows,但不能匹配 Windows 2000"中的 Windows。
参考资料来源:百度百科-正则表达式
参考技术A 开头:^ 结尾:$ 例如以“123”开头以“abc”结尾可写成 ^123.*abc$ 参考技术B 我只知道 ,JS 正则以/开头,以/结尾。PHP正则表达式替换以@结尾以2个空格结尾的单词[关闭]
【中文标题】PHP正则表达式替换以@结尾以2个空格结尾的单词[关闭]【英文标题】:PHP regex to replace words starting with @ end ending with 2 spaces [closed] 【发布时间】:2017-09-09 14:49:25 【问题描述】:在 PHP 中,如何直接去除以 @ (at) 符号开头的单词后面的所有双空格?
示例输入:
This is an @example input.
示例输出:
This is an @example output.
【问题讨论】:
请阅读What topics can I ask about 和How to ask a good question 和the perfect question 以及如何创建Minimal, Complete and Verifiable example SO 不是 免费的编码或代码转换或调试或教程或图书馆查找服务我们尝试修复您的代码,我们不编写您的代码 用一个空格替换任何多个内联空格是否会丢失任何东西? eval.in/775818 提示:使用preg_replace()
。
【参考方案1】:
匹配以@
开头的单词,重置匹配输出,然后匹配多个空格然后进行替换:
preg_replace('~@\w+\K\s2,~', ' ', $input_string);
正则表达式解释:
@\w+ # Match a `@` fowlling a word
\K # Reset matching process output
\s2, # Match double or more whitespaces
PHP live demo
【讨论】:
以上是关于正则表达式以啥结尾的主要内容,如果未能解决你的问题,请参考以下文章
求一个匹配 以指定字符开头,指定字符结尾,中间内容任意的正则表达式
求一个匹配 以指定字符开头,指定字符结尾,中间内容任意的正则表达式
求一个匹配 以指定字符开头,指定字符结尾,中间内容任意的正则表达式