我需要有关正则表达式的帮助,以查找组件中不包含&#34; maxlength&#34;的所有<lightning:input/>
字段。属性。
输入示例:
<lightning:input value="{!v.value}"
aura:id="field" name="name"
maxlength="50"
label="label"
required="true"
/>
我已经尝试了这个(<lightning:input)(?!.*(maxlength))
,但它只检查第一行输入(不包括新行)。我需要在IntelliJ IDEA搜索中使用它。
答案 0 :(得分:1)
前瞻中使用的.*
构造只允许您在一行上检查后续子模式。但是,您可能不会在此处使用(?s)
DOTALL修饰符来允许.
跨行匹配,因为*
是贪婪的,并且会在文档中尽可能地匹配{{1}另一个节点文本中的子字符串。
因此,最安全的正则表达式方法是尽可能少地使用maxlength
构造以匹配[^<]*?
以外的任何0 +字符(包括换行符):
<
注意我添加了<lightning:input(?![^<]*?maxlength=)
以确保=
子字符串后跟maxlength
。要将=
作为整个字词进行匹配,请在其前面添加maxlength
(字边界)或甚至\b
(空格)。