所以我试图匹配后面的勾选`,但只有当它不超过一行时才会匹配:
`test` // matches
``test`` // does NOT match
// does NOT match
```java
test
```
但是如果它位于字符串或结尾的开头,它也需要匹配,所以这三个必须匹配。
`matches`
文字`匹配`
文字`匹配'EOL
答案 0 :(得分:1)
更新3
下面的正则表达式与前一个正则表达式完全匹配,但是使用反引号`
,避免在正则表达式引擎搜索下一个时,结束反引号被视为起始反引号。
(?<!`)`([^`\n\r]+)`(?!`)
使用捕获组`([^`\n\r]+)`
保持正确的行为(仅提取包含在单个反引号中的文本)。
将其与preg_match_all
一起使用,试试online php demo。
勒亘:
(?<!`)`
一个反引号不在另一个之前`([^`\n\r]+)`
一个匹配所有不是反引号或换行符(CR或LF)的捕获组`(?!`)
一个反引号后面没有另一个