如何从一行的第一个非空白字符开始(正则表达式)

时间:2017-07-16 08:07:51

标签: regex editpad

我希望Regex从第一个非空白的单词/数字开始。在下面的示例中,我想从LG开始。还有很多其他几乎相同结构的线,我也必须通过它来匹配。

    <div class="p13n-sc-truncate p13n-sc-truncated-hyphen p13n-sc-line-clamp-2" aria-hidden="true" data-rows="2" data-truncate-mix-weblab='true'>

        LG 32MA68HY-P 32-Inch IPS Monitor with Display Port and HDMI Inputs

我的正则表达式是(?<='True'>\n).*.(?=\n)

有没有办法从这行的第一个字母/数字/单词开始,而不是添加很多点?

我相信[^\s]应该有效,但我无法让它发挥作用..

1 个答案:

答案 0 :(得分:0)

来自JG Software的

EditPadPro采用了支持无限宽度外观的正则表达式引擎。

你可以使用一个正向的lookbehind,确保有一个'true'>子字符串,后面跟着一个换行符,当前位置的左边有0+个空格。然后,你可能只需要一个非空格字符,然后是换行符以外的任何0 +字符。

以下是一个例子:

(?<='true'>\r?\n\s*)\S.*

请参阅regex demo

如果char应该是单词char,请将\S替换为\w

<强>详情:

  • (?<='true'>\r?\n\s*) - 一个积极的lookbehind,确保有一个'true'>子字符串后跟一个可选的CR,然后是一个LF和0+空格,紧靠当前位置的左侧
  • \S - 任何非空白字符
  • .* - 除了换行符之外的任何0 +字符尽可能多。