[英]I want to allow .xls file to upload in my WordPress, I have tried lot of things but it is still not working I don't know why
[英]Regex matching things i don't want to again
我昨天问了一个类似的问题,但我仍然缺乏对正则表达式某些部分的了解。
无论如何,我有这个字符串:
[[{{6^-2}}x{{6^3}}|{{6^-2}}]]
我想匹配以下正则表达式:
\[\[(.*?)\^(.*?)\]\]
所以基本上想隔离这个字符串是否有 [[anything^anything]]
它在一定程度上起作用,但它也匹配,因为那里有^
符号。 我不希望这个匹配那些,这个表达式不应该匹配,因为符号是|
不是方括号之间的^
。
基本上它应该忽略 {} 内的部分
更有意义的编辑:
示例字符串:[[{{hello^test}}|{{goodbye}}]] 我的模式:[[(. ?)\\^(. ?)]] 预期匹配:False 因为我只想匹配 ^ 如果它是由 [[ ]] 包围的字符串外部的一部分,而不是它在 {{ }} 内
示例字符串:[[{{hello^test}}^{{goodbye}}]] 我的模式:[[(. ?)\\^(. ?)]] 预期匹配:True 因为 ^ 的两边都在 [[ ]] 匹配,忽略 {{ }} 里面的内容
示例字符串:[[{{hello^test}}^{{goodbye^test}}]] 我的模式:[[(. ?)\\^(. ?)]] 预期匹配:True 因为 ^ 再次位于{{ }} 中的两部分,需要忽略 {{ }} 里面的内容
示例字符串:[[{{hello^test}}|{{goodbye^test}}]] 我的模式:[[(. ?)\\^(. ?)]] 预期匹配:False 因为里面没有 ^ [[ ]] 只在 {{ }} 里面,应该被忽略
我的模式不起作用,因为它也在 {{ }} 中提取 ^ 符号并匹配它的任一侧,我需要它匹配包裹在 [[ ]] 中的 ^ 的任一侧,而不是 {{ }}
我希望这是有道理的..
\[\[(\{\{.+?\}\}|[^^{}]+)\^(.+?)\]\]
解释:
\[\[ # 2 opening square brackets
( # start group 1
\{\{ # 2 opening curly braces
.+? # 1 or more any character, not greedy
\}\} # 2 closing curly braces
| # OR
[^^{}]+ # 1 or more NON carret or curly braces
) # end group 1
\^ # a carret
(.+?) # group 2, 1 or more any characters, not greedy
\]\] # 2 closing square brackets
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.