Javascript,模式正则表达式
最初我有一篇这样的文章Javascript,模式正则表达式,javascript,regex,Javascript,Regex,最初我有一篇这样的文章 asa#fathernode {oi#string oi2#string} 我的脚本得到如下数组(因为正在进行其他处理): 然后我制作一个如下的字符串: "asa#fathernode\n{oi#string\noi2#string}\n" 未处理字符串之前的脚本(没有“\n”): 我用的是: textoFather = textoFather.match(/{(.*?)}/)[1]; 为了得到花括号之间的东西,那是 "oi#stringoi2#string" 但
asa#fathernode
{oi#string
oi2#string}
我的脚本得到如下数组(因为正在进行其他处理):
然后我制作一个如下的字符串:
"asa#fathernode\n{oi#string\noi2#string}\n"
未处理字符串之前的脚本(没有“\n”
):
我用的是:
textoFather = textoFather.match(/{(.*?)}/)[1];
为了得到花括号之间的东西,那是
"oi#stringoi2#string"
但我需要按原样格式化
oi#string
oi2#string
因为(我相信)该模式没有得到“\n”
,所以textoFather
返回null
我真的需要得到“\n”
,脚本的其余部分才能继续工作(许多其他事情正在发生,但重要的是要将文本格式化),而且呈现的文本只是一个示例,实际文本非常大,并且有一些小的差异(文本字符串实际上可以是许多其他单词,而不仅仅是字符串)
Obs:我真的希望这只是一个模式(匹配)问题,但如果不是,我只是一个JavaScript初学者,我的母语不是英语,所以我需要一个非常详细的解释如何解决我的问题
因为(我相信)该模式没有得到“\n”
,所以textother
返回null
您是对的,
元字符与换行符不匹配。从:
(小数点)匹配除换行符以外的任何单个字符
您可以改用[\s\s]
:
/{([\s\S]*?)}/
[\s\s]
是一个字符类\s
匹配任何空白字符,\s
匹配所有非空白字符。因此,它们一起匹配每个角色
或者您可以使用[^}]
来匹配每个非}
字符:
/{([^}]*)}/
那么你甚至不必让量词变懒
因为(我相信)该模式没有得到“\n”
,所以textother
返回null
您是对的,
元字符与换行符不匹配。从:
(小数点)匹配除换行符以外的任何单个字符
您可以改用[\s\s]
:
/{([\s\S]*?)}/
[\s\s]
是一个字符类\s
匹配任何空白字符,\s
匹配所有非空白字符。因此,它们一起匹配每个角色
或者您可以使用[^}]
来匹配每个非}
字符:
/{([^}]*)}/
那么你甚至不必让量词变懒。格式化问题已经是获得好答案的一大步,那么你为什么不花时间去做呢?格式化问题已经是获得好答案的一大步,那么你为什么不花时间去做呢?