Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.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
使用regexp查找两个单引号之间的非ascii子字符串_Regex_String - Fatal编程技术网

使用regexp查找两个单引号之间的非ascii子字符串

使用regexp查找两个单引号之间的非ascii子字符串,regex,string,Regex,String,我想知道两个单引号之间是否有子字符串,它们具有非ascii字符 测试用例: "abc 'ab中文09中文' 99 '9999' 'abcd' '中文' " 预期结果: 'ab中文09中文' '中文' 我尝试了这个regexp: /'[^a-zA-Z0-9\s]+?'/ 可以获取子字符串'中文'仅适用于所有非ascii代码。但是我也想要'ab中文09中文'具有非ascii字符 我尝试将子字符串与所有ascii字符匹配,并反转条件: /'^([a-zA-Z0-9\s]+)?'/ 但是什么也得

我想知道两个单引号之间是否有子字符串,它们具有非ascii字符

测试用例:

"abc 'ab中文09中文' 99 '9999' 'abcd' '中文' "
预期结果:

'ab中文09中文'
'中文'
我尝试了这个regexp:

/'[^a-zA-Z0-9\s]+?'/
可以获取子字符串
'中文'仅适用于所有非ascii代码。但是我也想要
'ab中文09中文'具有非ascii字符

我尝试将子字符串与所有ascii字符匹配,并反转条件:

/'^([a-zA-Z0-9\s]+)?'/
但是什么也得不到


任何帮助都将不胜感激,提前感谢

您可以使用以下正则表达式(用
[^']*
包围以匹配其他ascii/非ascii字符,并稍微修改内部字符类以不包括
'
):

Javascript示例:

"abc 'ab中文09中文' 99 '9999' 'abcd' '中文' ".match(/'[^']*[^a-zA-Z0-9\s'][^']*'/g)
# => ["'ab中文09中文'", "'中文'"]
更新

使用以下正则表达式匹配任何非ascii字符:

[^\x00-\x7F]

[^\000-\177]

您可以使用以下正则表达式(包围
[^']*
以匹配其他ascii/非ascii字符,并稍微修改内部字符类以不包括
'
):

Javascript示例:

"abc 'ab中文09中文' 99 '9999' 'abcd' '中文' ".match(/'[^']*[^a-zA-Z0-9\s'][^']*'/g)
# => ["'ab中文09中文'", "'中文'"]
更新

使用以下正则表达式匹配任何非ascii字符:

[^\x00-\x7F]

[^\000-\177]

是否要匹配
'ab中文09中文'?不在子字符串中包含双引号。我将更新我的问题以澄清问题。是否要匹配
'ab中文09中文'?不在子字符串中包含双引号。我将更新我的问题以澄清问题。谢谢,这种方法非常有效,但在本例中,
“abc”ab中文09中文' 99'9999''abcd'/*'中文' " , 它将返回
'ab中文09中文'` 和最后一个
“/*”
中文'将被推荐。@JaugarChang,
/'[^']*[^\00-\x7f'][^']*'/g
会给你想要的。我想op不想匹配
'>@AvinashRaj,我不明白
>在哪里谢谢大家,这些答案真的很有帮助。谢谢,这种方法很有效,但在这种情况下
“abc”ab中文09中文' 99'9999''abcd'/*'中文' ,它将返回
'ab中文09中文'` 和最后一个
“/*”
中文'将被推荐。@JaugarChang,
/'[^']*[^\00-\x7f'][^']*'/g
会给你们想要的。我想op不想匹配
'>@AvinashRaj,我不明白
>在哪里谢谢你们,这些答案真的很有帮助。