请教一个问题
'/\[font=([^\[\<]+?)\]/i' 是什么意思啊,()中的内容不懂。
'/\[url=www.([^\["\']+?)\](.+?)\[\/url\]/is' 是什么意思啊,第一个()中的内容不懂。
谢谢了!
两个正则表达式的意思解释如下:
()中是匹配内容。
1.([^\[\<]+?) 不能有<;
2.([^\["\']+?) 不能有单引双引号。
(+是允许多字符,?问号是有或没有)
扩展资料
正则表达式的特点是:
1. 灵活性、逻辑性和功能性非常强;
2. 可以迅速地用极简单的方式达到字符串的复杂控制。
3. 对于刚接触的人来说,比较晦涩难懂。
由于正则表达式主要应用对象是文本,因此它在各种文本编辑器场合都有应用,小到著名编辑器EditPlus,大到Microsoft Word、Visual Studio等大型编辑器,都可以使用正则表达式来处理文本内容。
参考资料:百度百科:正则表达式
/\{\{(.+?)\}\}/g
最前面的“/”与最后面的“/”是,表示的开始与结束。
最后的“g”标志则表示正则表达式使用的global(全局)的状态。使用 global 标志表明在被查找的中搜索操作将查找所有符合的项,而不仅仅是第一个。这也被称为全局匹配。【相关的标志还有i(ignoreCase,表示忽略大小写)、m(multiline,表示允许跨行)】
然后我们再来看中间的主体部分:\{\{(.+?)\}\}花括号{}是正则里的限定符。但是我们这里是要找字符串里的花括号,所以前面加个“\”来表示是要找字符的花括号。“\{\{”“\}\}”就是找前后两组花括号。
“.”表示任意字符。“+”表示前面表达式一次乃至多次。“?”表示匹配模式是非贪婪的。
/\{\{(.+?)\}\}/g完整的意思就是:在全部范围内查找匹配前后有两组花括号的字符串。
例如:“{{}}”、“{{asdfasdfasdf56745}}”、“{{yuyuy#$%8787 9+_)(*)87 }}”
拓展资料:
正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。
许多都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。
参考资料:
本回答被网友采纳([^\[\<]+?) 不能有<
([^\["\']+?) 不能有单引双引号
+是允许多字符,?问号是有或没有追问
第一个懂了,是不能有 [ 并且不能有< 吧!
第二个还是不太懂,如果是不能有单双引号,应该是\"\',可为什么双引号前没有 \ 呢?
你加上应该也是不影响的,\是转义符,意思是防止歧义的保留的字符用的
本回答被提问者采纳([^\[\<]+?)这个分三部分来看[^\[\<]、+、?
第一部分、[^\[\<] 不能含有[ <二种符号。
第二部分、+ 匹配一次。
第三部分、?匹配前面的子表达式零次或一次,但当该字符紧跟在任何一个其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串。
综上可以解读为:匹配不为 [ 及 < 的单个字符。例如:abcd[<ef则会匹配出a、b、c、d、e、f。
按照上面分析的思路,([^\["\']+?)可以解读为匹配不为 [ " ' 这三种符号的单个字符。