使用regex在模式中选择模式的每个实例



我正在尝试从标题上的HTML ID中删除空格,并将其替换为-字符。到目前为止,我一直在做一个多步骤的过程。我想使用regex将其浓缩为一个步骤。我一直在尝试制作一个正则表达式模式,在变量模式中突出显示字符的实例,但我没有取得多大成功。

正则表达式应替换此处的2个空格:

<h2 id="three word sentence">

正则表达式应替换此处的3个空格:

<h2 id="four words in sentence">

这就是我目前所拥有的,它可以找到每件物品的整个ID。然后我打开";在选择中查找";并用CCD_ 1替换空间。

(?<=<h[234] id=").*(?=")

如何在一步中只找到空格?

您可以使用

(?:G(?!A)|<hd+s+id=")[^"s]*Ks+(?=[^"]*")

请参阅regex演示详细信息

  • (?:G(?!A)|<hd+s+id=")-上一次成功匹配的结束或<h、一个或多个数字、一个或者多个空格和id="字符串
  • [^"s]*-除"和空白之外的零个或多个字符
  • K-匹配重置运算符,用于丢弃到目前为止从整个匹配内存缓冲区匹配的文本
  • s+-一个或多个空白
  • (?=[^"]*")-一个正向前瞻,需要零个或多个除-0之外的字符,然后在当前位置右侧立即添加一个"字符

最新更新