在小于号之前匹配任何数字,单词字符或空格46次或更多次

Mik*_*oud 3 regex notepad++

目的

我希望在符号前匹配任何数字,单词字符或空格46次或更多次<.

需要注意的是,在将其插入C#代码之前,我正试图在Notepad ++中使用此RegEx.

数据

<Elem1>123 ABC Street</Elem1> // should NOT match
<Elem1>123637 ABC Street Suite 1, Kalamzoo, FL 15264-8574</Elem1>
Run Code Online (Sandbox Code Playgroud)

正则表达式

我目前有以下RegEx:

^.*<Elem1>[\d\w\s]{46,}?
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚为什么这[\d\w\s]{46,}?与元素的内部部分不匹配.

我期待着你的回答!

Jon*_*Jon 7

它不匹配,因为输入包含逗号和连字符,它们不包含您包含的三个字符类中的任何一个.

这符合:

^.*<Elem1>[\d\w\s,-]{46,}?
Run Code Online (Sandbox Code Playgroud)

此外,只有包含输入锚点的开头才有意义,然后继续说"哦,<Elem1>如果正则表达式在多行模式下运行,则忽略在" 之前找到的任何字符".否则,只需要实现相同的效果

<Elem1>[\d\w\s,-]{46,}?
Run Code Online (Sandbox Code Playgroud)