匹配每个字符,直到行首出现模式(javascript)

匹配每个字符,直到行首出现模式(javascript),javascript,regex,Javascript,Regex,我有以下案文: <a> a lot of text here with all types of symbols ! : . %& < > </a> <a> another text here with all types of symbols ! : . %& < > </a> 通过“匹配每个字符直到”的方法,我建议您通过程序解析它: 匹配任何开头标记的第一个匹配项: 有了这个,你可以

我有以下案文:

<a>
    a lot of text here with all types of symbols ! : . %& < >
</a>

<a>
    another text here with all types of symbols ! : . %& < >
</a>

通过“匹配每个字符直到”的方法,我建议您通过程序解析它:

  • 匹配任何开头标记的第一个匹配项:
    有了这个,你可以得到标签的名字
  • 获取任何开始标记第二次出现的位置以及结束标记第一次出现的位置,该结束标记的名称与之前读取的名称相同
  • 比较这些位置,并确定它是一个单行“仅打开”标记还是多行“打开”和“关闭”标记
  • 获取包含在第一个开始标记和步骤2中得到的最低位置之间的内容

  • 我想你想要的是
    /([^]*?)(?:()$)(?=(?:))/gi

    只是好奇,你为什么要用
    [^]
    而不是
    ?不要用regexp来分析HTML。HTML并不是使用regexp的常规格式。解析整个HTML并使用常规DOM遍历它,然后使用regexps匹配元素文本内容。匹配每个字符直到换行。我正在用javascript创建一个游戏,有时我想在编辑器和引擎之间传递额外的数据。。。我用标签来做这个。有没有更好/更快的方法来解析javascript中的标记?谢谢你检查我编辑的答案这是个好主意但是。。我在找一个“神奇的正则表达式”来做这个。。我不是Regex专家,因为这里有很多专业人士,我想我会问的!但恐怕这是我最好的选择。但如果有多个标签,它们就不匹配了!!:(我已经修改了我的答案。哦,我的天啊!!你做到了!:OThanks要从这里得到一点帮助:(regex lookahead)你为什么在替代语句中添加$符号?
    <([^]*?)>(?:([^]*)<\/\1>)?
    
    <a>
    
    <a>
        another text here with all types of symbols ! : . %& < >
    </a>
    
    <a>
        another text here with all types of symbols ! : . %& < >
    
    (?:([^]*)....