Javascript 用于提取国家名称的正则表达式

Javascript 用于提取国家名称的正则表达式,javascript,regex,Javascript,Regex,当与下面的任何一行一起使用时,哪个正则表达式将提取国家名称 我有一个下拉列表,所有这些都是我的选择,我试图只提取这个国家,但我失败了,因为JavaScript似乎不支持lookbehind,我不知道如何排除表情符号部分。更不用说像奥因奥兰群岛这样的特殊人物并没有让事情变得更容易 谢谢 Maybe, \S\s([^\r\n]*?)\s*\+[0-9]+$ 也许 可能返回捕获组$1中的国家名称 使用lookaround,我们可能会编写一些类似于以下内容的表达式: [A-Za-zéã.] 我

当与下面的任何一行一起使用时,哪个正则表达式将提取国家名称

我有一个下拉列表,所有这些都是我的选择,我试图只提取这个国家,但我失败了,因为JavaScript似乎不支持lookbehind,我不知道如何排除表情符号部分。更不用说像奥因奥兰群岛这样的特殊人物并没有让事情变得更容易

谢谢

Maybe,

\S\s([^\r\n]*?)\s*\+[0-9]+$
也许

可能返回捕获组$1中的国家名称

使用lookaround,我们可能会编写一些类似于以下内容的表达式:

[A-Za-zéã.]   
我们可以用它得到第二个字母

/[A-Za-z]\s([a-zA-Z])\s+[0-9]/\1/
在此之前,还有一个\S,然后我们将绕过表情符号

常量regex=/\S\S[^\r\n]*?\S*\+[0-9]+$/gm; const str=`我建议使用/^.+?\s.+?\+\d+/gm。使用多行标志,这会在第一个空格前惰性地吃掉每行字符,然后捕获直到空格、文字+符号和数字。如果您的国旗格式是一致的,那么特殊字符和不寻常的国家名称就不成问题


const countries=`有没有一种方法可以直接获取国家名称,而不使用捕获组,或者只跳过前五个字符?那么,像这样的东西,但是没有表情符号和它后面的空间?只是好奇为什么这是必要的?看起来Emma找到了一个方法,但它使用的是一个白名单,它可能不会涵盖所有的可能性,所以我担心这一点。我想做什么?当然!对于这个特定的项目,我使用一个专有的无代码平台,它运行在JS上,并且有一个非常有限的工具来处理Regex。它不支持捕获组,并且不能编写任何脚本来接触提取过程——这部分完全是一个黑匣子。我几乎可以直接输入表达式,然后它要么成功,要么失败。希望能澄清一点!另外,谢谢你的帮助!明白了。这肯定会让它更有趣。有没有一种方法可以直接匹配国家名称,而不使用捕获组,或者干脆跳过前五个字符?那么,像这样的东西,但是没有表情符号和它后面的空间?这是可怕的,它几乎涵盖了每一个!它只在Réunion、圣托美和普林西比以及美属维尔京群岛失败。有没有办法把这些都包括进去?你太棒了!非常感谢!只使用代码的答案几乎总是可以通过包含代码解释来改进的,解释代码解决问题的原因和方式。
/[A-Za-z]\s([a-zA-Z])\s+[0-9]/\1/