如何让正则表达式找到一定距离外的字符串?
How can I make regex find a string a certain distance away?
例如,这是我到目前为止想出的
lasts{0,1}.*?(\d).*?doggs
开头部分可以是 last
或 lasts
加上 s.
现在,我想在它找到的任何地方之前最多查看 10 个字符 lasts{0,1}
如果它在这 10 个字符中找到一个数字,请再次查看最多 10 个字符中的任何地方是否是字符串 doggs
这可能吗?
这是一个例子
So I figure if I use them about 7-8 hours a day they should last about 5.8 doggs. That works out
我只想得到5
`lasts{0,1}.{0,10}\d.{0,10}doggs`
lasts{0,1}
可以替换为lasts?
。
您可以使用更多限制量词:
lasts?.{0,10}?(\d).{0,10}doggs
^^^^^^^^ ^^^^^^^
图案说明:
lasts?
- 匹配 last
或 lasts
.{0,10}?
- 匹配 0 到 10 个字符 尽可能少 除了换行符(使用 DOTALL 修饰符也匹配换行符)
\d
- 一个数字
.{0,10}
- 见上文
doggs
- 匹配文字字符序列 doggs
.
例如,这是我到目前为止想出的
lasts{0,1}.*?(\d).*?doggs
开头部分可以是 last
或 lasts
加上 s.
现在,我想在它找到的任何地方之前最多查看 10 个字符 lasts{0,1}
如果它在这 10 个字符中找到一个数字,请再次查看最多 10 个字符中的任何地方是否是字符串 doggs
这可能吗?
这是一个例子
So I figure if I use them about 7-8 hours a day they should last about 5.8 doggs. That works out
我只想得到5
`lasts{0,1}.{0,10}\d.{0,10}doggs`
lasts{0,1}
可以替换为lasts?
。
您可以使用更多限制量词:
lasts?.{0,10}?(\d).{0,10}doggs
^^^^^^^^ ^^^^^^^
图案说明:
lasts?
- 匹配last
或lasts
.{0,10}?
- 匹配 0 到 10 个字符 尽可能少 除了换行符(使用 DOTALL 修饰符也匹配换行符)\d
- 一个数字.{0,10}
- 见上文doggs
- 匹配文字字符序列doggs
.