regex - VB.Net正则表达式,获取可能包含单引号的单词,即单引号之间的单词

标签 regex vb.net

我有一个国家/地区列表,每个国家/地区名称都在单引号之间,如下所示

'United States'

我正在使用这个正则表达式来匹配它们:'(.*?)'

效果很好,直到我找到一个更晦涩的国家/地区名称,例如 'Cote d'Ivoire' ,它最终匹配 Cote d

如何更改当前的正则表达式以正确匹配国家/地区名称,例如我刚刚作为示例给出的国家/地区名称?

最佳答案

您可以尝试强制正则表达式引擎匹配非单词边界位置处的最终 ':

'(.*?)'\B

请参阅regex demo

当第一个 ' 前面有非单词边界、后面有单词边界时,您可以匹配第一个 ',并且类似地匹配结束的 ':

\B'\b(.*?)\b'\B

参见another regex demo

关于regex - VB.Net正则表达式,获取可能包含单引号的单词,即单引号之间的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44519675/

相关文章:

javascript - 用数组元素替换字符串键

Python:连续多个正则表达式?

c# - 在 WPF 中设置 Richtextbox 格式

vb.net - 从字典获取数组时出现问题

regex - 在egrep的正则表达式中管道bash输入参数

ruby - Ruby gsub 替换中的行为不一致?

Javascript 正则表达式匹配 Twitter 用户名,但不包括冒号

vb.net - 将委托(delegate)从 c# 转换为 vb.net

mysql - 连接必须有效并在 vb 2008 中打开

wpf - 组合框和IDataErrorInfo