我希望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]
应该有效,但我无法让它发挥作用..
答案 0 :(得分:0)
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 +字符尽可能多。