Javascript 使用正则表达式检查新行是否存在
我正在编写一个javascript,在非英语字符的开头添加{y},在结尾添加{/y)。我还需要它保留空行。但在当前场景中,它将{y}{/y)添加到空行/新行Javascript 使用正则表达式检查新行是否存在,javascript,html,regex,Javascript,Html,Regex,我正在编写一个javascript,在非英语字符的开头添加{y},在结尾添加{/y)。我还需要它保留空行。但在当前场景中,它将{y}{/y)添加到空行/新行 var-lyrs=document.getElementById('userInput'); 函数printSong(){ var输入=0.value; 变量行=input.split('\n'); var generatedText=“”; 对于(变量i=0;i
var-lyrs=document.getElementById('userInput');
函数printSong(){
var输入=0.value;
变量行=input.split('\n');
var generatedText=“”;
对于(变量i=0;i
测试
அஇஉ்உ்உ
生成标记
避免将标记添加到空行只需添加
!lines[i].trim() ||
…到if
的开头。它取该行,从中去掉任何前导和尾随空格,并查看结果是否为空。(“
是假值,所以!”
是真的
)如果为空,则跳过正则表达式检查(因为|
如果左侧操作数为真,则短路)我们进入if
块(这样我们就不会在空行中添加标记)
但作为:
- 对于逻辑OR操作,它是
,而不是|
|
匹配大写A和小写z之间的所有字符。在z之后和A之前有许多字符也将匹配[A-z]
[A-z]|[0-9]{2}
表示“一个字符A到z或两个数字”。如果这是您真正的意思,可以,但如果您的意思是“两个字符A到z或0到9”你可以把它们组合成一个单一的字符类。我在下面没有这样做,理论上你可能希望条件是这样的
最后:如果您只想检查字符串是否与表达式匹配,则不希望匹配
;相反,请对表达式使用测试
if (string.match(expression) != null)
变成
if (expression.test())
这使得正则表达式引擎在知道结果后立即停止,而不必费心构建结果数组
随着这些变化:
var-lyrs=document.getElementById('userInput');
函数printSong(){
var输入=0.value;
变量行=input.split('\n');
var generatedText=“”;
对于(变量i=0;i
测试
அஇஉ்உ்உ
生成标记
避免将标记添加到空行只需添加
!lines[i].trim() ||
…到if
的开头。它取该行,从中去掉任何前导和尾随空格,并查看结果是否为空。(“
是假值,所以!”
是真的
)如果为空,则跳过正则表达式检查(因为|
如果左侧操作数为真,则短路)我们进入if
块(这样我们就不会在空行中添加标记)
但作为:
- 对于逻辑OR操作,它是
|
,而不是|
[A-z]
匹配大写A和小写z之间的所有字符。在z之后和A之前有许多字符也将匹配
另外:[A-z]|[0-9]{2}
表示“一个字符A到z或两个数字”。如果这是您真正的意思,可以,但如果您的意思是“两个字符A到z或0到9”你可以把它们组合成一个单一的字符类。我在下面没有这样做,理论上你可能希望条件是这样的
最后:如果您只想检查字符串是否与表达式匹配,则不希望匹配
;相反,请对表达式使用测试
if (string.match(expression) != null)
变成
if (expression.test())
这使得正则表达式引擎在知道结果后立即停止,而不必费心构建结果数组
随着这些变化:
var-lyrs=document.getElementById('userInput');
函数printSong(){
var输入=0.value;
变量行=input.split('\n');
var generatedText=“”;
对于(变量i=0;i
测试
அஇஉ்உ்உ
生成标记
请注意编辑器中的
图标。您可以将HTML/CSS/JS代码放入并使其成为可执行代码段。需要注意两件事:您在if
和[a-z]中使用了一元
匹配的不仅仅是ASCII字母。是否要查找非英语字符或具有非英语字符的行?@T.J.Crowder我已在其中添加了一些示例数据。@ReadyFreddy我要查找具有非英语字符的行请注意
编辑器中的图标。您可以将HTML/CSS/JS代码放入其中,并使其成为可执行代码段。T有两件事需要注意:如果和[a-z]
匹配的不仅仅是ASCII字母,那么在中使用的是一元|
。是否查找非英语字符或具有非英语字符的行?@T.J.Crowder我在其中添加了一些示例数据。@Read