Javascript正则表达式从一个字符获取内容到另一个字符

标签 javascript regex

我有一些自定义 Markdown,其中包含美元符号 ($)。

这会创建这样的 Markdown :

$ something
# Hello all
How are you?

$ Foobar
# Something else

我正在寻找从美元符号到美元符号的正则表达式。

所以输出将是:

var i = ["$ something\n# Hello all\nHow are you?\n", "$ foobar\n# Something else"]

注意:
这是我必须获得美元符号后的所有内容: /\$ [\t]*([^\n\r]*)/g ( example )

最佳答案

根据您期望的输出,您可以使用以下内容:

/(\$[^$]*(?=\$|$))/g

Example Here

它将通过利用正向先行匹配直到下一个$(或字符串末尾)。

  • \$[^$]* - 匹配 $ 字符,后跟零个或多个非 $ 字符。
  • (?=\$|$) - 正向前瞻匹配,直到下一个 $ 字符字面意思,或字符串末尾 $.

输出:

["$ something\n# Hello all\nHow are you?\n", "$ foobar\n# Something else"]

关于Javascript正则表达式从一个字符获取内容到另一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34616496/

相关文章:

javascript - 从 DOM 中删除除一个子树之外的所有节点

javascript - "First Click"Button 不隐藏 div

javascript - HTML5 Canvas | .moveTo() 和 .fillI() 的细微差别

javascript - 为什么滚动事件没有触发?

Java Regex 将 LDAP 路径转换为专有名称

java - 非捕获组正则表达式在 Java 中不起作用

javascript - 正则表达式匹配包含新行的段落中的句子

c# - 仅获取正则表达式中组中最长的匹配项

javascript - 检查数组中是否存在键

regex - 如何在 VBScript RegEx 中替换为换行符