我不太了解正则表达式,而且从我学到的东西中我无法解决我的整个问题。
我有这个字符串:
<02> 02区块的主题之间的04学分
我只确定在开始和结束时我会[00-99]。
我想抓住开始和结束如果中间有&#34;积分在&#34;之间,系统可以有其他格式作为输入,所以我想确保捕获的这些字段将来自正确的模式。
这就是我试图做的事情:
new
我正在使用Regexr网站查看我正在做的事情,但没有成功。
答案 0 :(得分:2)
您可以使用以下正则表达式:
^(\d{2})\b.*credits between.*\b(\d{2})$
请参阅regex demo
如果字符串本身包含credits between
,它将匹配并捕获开头和结尾的2位数字。请注意,[\s\S]
代替.
可以支持换行符。
单词边界\b
只是使引擎匹配数字后跟非单词字符(如果不是预期的行为,您可以删除它)。然后,您需要在末尾使用^(\d{2})\b.*credits between.*?(\d{2})$
与惰性匹配.*?
。
如果两端数字的位数可能不同,请使用
^(\d+).*credits between.*?(\d+)$
请参阅another demo