用于检测斜体降价指示符的正则表达式

时间:2018-05-16 18:46:29

标签: javascript regex typescript markdown

我有以下测试字符串:

const string = '*Foo* **Foo** ***Foo*** ** ****';

我想使用RegExp从名为named capturing group的{​​{1}}中提取以下匹配项:

content

同样匹配空格也很棒。

STRING:   *Foo* **Foo** ***Foo*** ** ****
MATCH:    ^^^^^           ^^^^^   ^^
CONTENT:   ^^^             ^^^

这将导致以下匹配:

const string = '* Foo * ** Foo ** *** Foo *** * * ** **';

我尝试了几种正则表达式模式,但我似乎没有为STRING: * Foo * ** Foo ** *** Foo *** * * ** ** MATCH: ^^^^^^^ ^^^^^^^ ^^^ CONTENT: ^^^ ^^^ ^ 而不是\*获得正确的模式。

以下是其中之一:

\*{2}

结果如下:https://regex101.com/r/OqSMuO/3

我怎样才能让它发挥作用?谢谢!

1 个答案:

答案 0 :(得分:1)

我不知道这是不是你正在寻找的东西,但它可能会给你一个提振:

(?:^|(?<=\s))(?:\*\s*(?<content1>[^*]+)\s*?\*|\*{3}\s*(?<content3>[^*]*)\s*\*{3})(?:$|(?=\s))

Demo