带有正则表达式的子串字边界
Substring word boundaries with regex
我 99% 的人都使用正则表达式来查找单词,但不是作为子字符串出现的任何迭代。
ie 正在寻找 jam 或 JAM 但不是 Pajama 或 floro果酱
这是我的 so far:
\bjam\s?\d?\b
它适用于我可能遇到的所有组合,但我希望它也能在不带空格的情况下对同一个字符串进行多次迭代
jamjamjamjam
是否可以将其添加到正则表达式中?
您可以尝试这样的操作:
\b(?:jam|JAM)+\b
您可以交替使用此正则表达式:
~\b(?:(?:jam)+|jam\h*\d*)\b~i
正则表达式详细信息:
\b
: 字边界
(?:(?:jam)+|jam\h*\d*)
:匹配 1+ 个相邻的 jam
字符串或 jam
后跟 0+ 个空格和 0+ 个数字
\b
: 字边界
i
: 忽略大小写模式
我 99% 的人都使用正则表达式来查找单词,但不是作为子字符串出现的任何迭代。
ie 正在寻找 jam 或 JAM 但不是 Pajama 或 floro果酱
这是我的 so far:
\bjam\s?\d?\b
它适用于我可能遇到的所有组合,但我希望它也能在不带空格的情况下对同一个字符串进行多次迭代
jamjamjamjam
是否可以将其添加到正则表达式中?
您可以尝试这样的操作:
\b(?:jam|JAM)+\b
您可以交替使用此正则表达式:
~\b(?:(?:jam)+|jam\h*\d*)\b~i
正则表达式详细信息:
\b
: 字边界(?:(?:jam)+|jam\h*\d*)
:匹配 1+ 个相邻的jam
字符串或jam
后跟 0+ 个空格和 0+ 个数字\b
: 字边界i
: 忽略大小写模式