Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 匹配相同类型引号的正则表达式_Regex_Bash_Regex Lookarounds - Fatal编程技术网

Regex 匹配相同类型引号的正则表达式

Regex 匹配相同类型引号的正则表达式,regex,bash,regex-lookarounds,Regex,Bash,Regex Lookarounds,需要正则表达式来匹配以下字符串 ["mystring"] -- Match ['mystring'] -- Match ["mystring'] -- No match ['mystring"] -- No match 我正在尝试使用此^\[(\“\\”).*(\“\”)]$,但这与没有兼容引号的字符串相匹配 谢谢。看来你需要 rx='^\[(['"'"'"])[^'"'"'"]*\1]$'; [[ $s =~ $rx ]] && echo "Matched!" || echo

需要正则表达式来匹配以下字符串

["mystring"] -- Match
['mystring'] -- Match
["mystring'] -- No match
['mystring"] -- No match
我正在尝试使用此
^\[(\“\\”).*(\“\”)]$
,但这与没有兼容引号的字符串相匹配

谢谢。

看来你需要

rx='^\[(['"'"'"])[^'"'"'"]*\1]$';
[[ $s =~ $rx ]] && echo "Matched!" || echo "No match!";

模式是
^\[(['”])[^']*\1]$
,它匹配:

  • ^
    -字符串的开头
  • \[
    -a
    [
    字符
  • ([”)
    -捕获组1:a
  • [^'”*
    -零个或多个
    '
    字符
  • \1
    -对组1中捕获的值的反向引用
  • ]
    -a
    ]
    字符
  • $
    -字符串结束

什么是正则表达式?编程语言?在JS/.NET中有效的东西在Go/RE2中不起作用。如果你不确定,试试看。顺便说一句,关于
['mystring'][“mystring']
-这是一个有效的场景吗?我正在尝试使用bash,awkNot-valid,Quotes-type-should-match,你能提供一些代码来重现这个问题吗?另外,请尝试
rx='^\[(['''''''''']][^'''''''''''''''''''''''']*\1]$';[[$s=~$rx]]&&echo“匹配!”| | echo“不匹配!”(如果字符串中根本没有引号)。或者,如果字符串不能包含
]
,请尝试
rx='^\[([''''''''''''''“])[^]*\1]$;
/此外,字符串是否可以包含转义的
'
?那
['my'string']
呢?你能期待
['my“string']
?刚刚接受了你的答案并投了赞成票。非常感谢:-)