如何使用RegEx捕获内联Markdown代码而不是Markdown代码栅栏?

时间:2016-12-22 00:51:01

标签: regex

更新以澄清问题

我尝试使用RegEx在单个反引号中查找文本(即Markdown格式的内联代码)。我这样做是为了在Xojo中实现基于RegEx的Markdown解析器。我尝试了一些模式,但它们似乎都返回了代码栏中的所有(或部分)文本内容(三重反引号)。

鉴于此Markdown

This is `inline code` (obviously).

Here is a code fence:

```
Some code
blah blah
```

Another `example for you`.

another fence:

```json
{"title":"Hello World!"}
```

我想找到以下匹配项:

`inline code`
`example for you`

使用此RegEx模式:`(.*?)`

正确匹配内联代码,但也匹配每个代码栏的前两个反引号。

有人可以帮我弄清楚如何只匹配单个反引号之间的内容,但是从两个反引号之间的匹配空白区域中排除?

2 个答案:

答案 0 :(得分:2)

我认为你可以使用这样的正则表达式:

/`([^`\n\r]+)`/g

通过提供群组\1

[Regex Demo]

如果您的RegEx支持正面观察,您可以使用:

/(?<=`)[^`\r\n]+(?=`)/g

[Regex Demo]

答案 1 :(得分:2)

行。经过大量的努力,这似乎有效:

\`([^\`].*?)\`

希望它有所帮助。