正则不是某个字符开头(正则以字符串开头)
http://www.itjxue.com 2023-01-28 16:57 来源:未知 点击次数:
正则表达式不是以X开头,怎么写?
应该写做“[^X]”。
表达式:^;.*
作用是匹配“;”开头的整行,其中:
^是匹配开头,
;是匹配;
.匹配任意字符(多行模式中除回车换行),.*表示任意字符出现任意多次
如果需要半角的话,把表达式中的“;”换成“;”即可
结尾:$
例如以“123”开头以“abc”结尾可写成
^123.*abc$。
正则表达式 : ^a.*t$ 表示以a开头t结尾的所有单词。
.*表示.出现0或多次,如果是多次的话就相于...........,其中每个.都是独立的,并不是第一个.匹配到的字符重复几次 如果要表示相同字符的话可以使用反向引用: ^a(.)\1*t$。
php 正则表达式匹配不以某些字符开始的字符串
照你的匹配结果,那li/li中没有span/span的也会被去除啊,因为lifffffddf/li没在结果中
所以按你需要的结果
$reg = '#li([a-z]+span[\w]*/span[\w]*)/li#i';
如果只是li/li之间字符时以span开头的话,那么就剔除这一项
$reg = '#li([a-z]+(?:span[\w]*/span)?[\w]*)/li#i';
正则表达式 表示 非指定字符串开头的正则
虽然代码不多,但简单明了
复制代码
代码如下:
preg_match('/^(?!string)/',
'aa')
===
true
这个用来验证一个字符串是否是非'string'开头的,
在perl或支持perl的正则表达式的语言(如php)中,可以用前看声明来做到这一点,正则表达式是:
复制代码
代码如下:
preg_match('/.*(?!\.txt)$/',
'aa')
意思是匹配所有不以.txt结尾的名字
对上面的意思不是很熟悉的,可以参考下面的这篇正则表达式的基本参数说明,看透了。
“不以某字符串开头”正则表达式怎么说
用环视
^(?!某字符串).*$
^是字符串开头,(?! ? ) ?是否定环视,意思是后面不是……