Javascript 将字符串拆分为两个字符

Javascript 将字符串拆分为两个字符,javascript,regex,Javascript,Regex,首先,如果字符串具有以下格式,我希望匹配:$abc#xyz或$abc.xyz abc和xyz仅表示字母数字字符串 如果匹配,那么我需要提取第一个$abc和最后一个#xyz,所有这些都使用纯javascript和regex 图案的顺序如下: 美元符号 无限字母数字字符串 空间 散列或点 无限字母数字字符串 提前感谢您的帮助。请尝试以下正则表达式: /^(\$[a-zA-Z\d]+) ([#.][a-zA-Z\d]+)$/ 说明: ^ Start of line. (

首先,如果字符串具有以下格式,我希望匹配:
$abc#xyz
$abc.xyz

abcxyz仅表示字母数字字符串

如果匹配,那么我需要提取第一个
$abc
和最后一个
#xyz
,所有这些都使用纯javascript和regex

图案的顺序如下:

  • 美元符号
  • 无限字母数字字符串
  • 空间
  • 散列或点
  • 无限字母数字字符串

  • 提前感谢您的帮助。

    请尝试以下正则表达式:

    /^(\$[a-zA-Z\d]+) ([#.][a-zA-Z\d]+)$/
    
    说明:

    ^ Start of line. ( Start capturing group. \$ Literal dollar sign. [a-zA-Z\d] Any letter in a-z or A-Z, or any digit. + One or more of the previous. ) End capturing group. <space> Literal space. ( Start second capturing group. [#.] Either a number sign or a period. [a-zA-Z\d]+ ) End second capturing group. $ End of line.
    请尝试以下正则表达式:

    /^(\$[a-zA-Z\d]+) ([#.][a-zA-Z\d]+)$/
    
    说明:

    ^ Start of line. ( Start capturing group. \$ Literal dollar sign. [a-zA-Z\d] Any letter in a-z or A-Z, or any digit. + One or more of the previous. ) End capturing group. <space> Literal space. ( Start second capturing group. [#.] Either a number sign or a period. [a-zA-Z\d]+ ) End second capturing group. $ End of line. 像这样

    if(str.match(/^\$[a-z0-9]+ (#|\.)[a-z0-9]+$/i)) {
        var parts = str.split(' ');
    }
    
    更新:显然有多种方法可以实现这一点。没有一个正则表达式。如果使用捕获组,您甚至可以在一个步骤()中提取字符串。

    像这样吗

    if(str.match(/^\$[a-z0-9]+ (#|\.)[a-z0-9]+$/i)) {
        var parts = str.split(' ');
    }
    

    更新:显然有多种方法可以实现这一点。没有一个正则表达式。如果您使用捕获组,您甚至可以在一个步骤()中提取字符串。

    因此模式是美元符号、三个字母数字字符、空格、哈希、三个字母数字字符?所以您不想使用
    .xyz
    ?你为什么说第一个和最后一个?我认为字符串只能存在于这两个“单词”中。模式是一个美元符号,无限的字母数字字符,空格,散列或点,无限的字母数字字符。所以模式是美元符号,三个字母数字字符,空格,散列,三个字母数字字符?所以您不想使用
    .xyz
    ?你为什么说第一个和最后一个?我认为字符串只能存在于这两个“单词”中。@1该模式是一个美元符号,以及无限的字母数字字符、空格、哈希或点,以及无限的字母数字字符。如果您将捕获组包括
    \$
    [\35;。]
    那么这正是OP想要的。如果你让捕获组包括
    \$
    [\35;.]
    那么这正是OP想要的。你需要逃逸
    (或者在不需要逃逸的地方使用
    [\35;.]
    )。你需要逃逸
    (或者使用
    [\35;
    其中不需要转义)。