使用Javascript查找给定字符串中系列中出现的多个标点符号

使用Javascript查找给定字符串中系列中出现的多个标点符号,javascript,regex,string,Javascript,Regex,String,我有以下几条线- var string1 = "When did Harry meet Sally ???"; var string2 = "When did Harry meet Sally ?$@"; var string3 = "When did Harry meet Sally ?"; 我需要将string3报告为上述选项中的正确字符串。与 string1.match(/[:!?+\<">'$‘;@€`*&.\\/]{2}/g) string1.match(/[

我有以下几条线-

var string1 = "When did Harry meet Sally ???";
var string2 = "When did Harry meet Sally ?$@";
var string3 = "When did Harry meet Sally ?";
我需要将string3报告为上述选项中的正确字符串。与

string1.match(/[:!?+\<">'$‘;@€`*&.\\/]{2}/g) 

string1.match(/[:!?+\您可以使用正向前瞻来检查当前字符是否是符号,后面的字符是否也是符号,然后返回false

编辑1 要处理像
?@
这样的情况,可以删除所有空格,然后对其进行测试。这不会修改原始字符串,仅用于验证目的

样本

函数验证字符串(str){
返回!/[^a-z0-9](?=[^a-z0-9])/gi.test(str.replace(/\s+//g'))
}
var string1=“哈里是什么时候遇到萨利的?”;
var string2=“哈里什么时候遇到萨利的?$@”;
var string3=“哈里是什么时候遇到萨利的?”;
var string4=“哈里是什么时候遇到萨利的?”;
var string5=“哈里什么时候遇到萨莉的?测试”;
[string1,string2,string3,string4,string5]。forEach(函数){
控制台日志(验证字符串)

})
您可以使用正向前瞻来检查当前字符是否为符号,以及它后面的字符是否也是符号,然后返回false

编辑1 要处理像
?@
这样的情况,可以删除所有空格,然后对其进行测试。这不会修改原始字符串,仅用于验证目的

样本

函数验证字符串(str){
返回!/[^a-z0-9](?=[^a-z0-9])/gi.test(str.replace(/\s+//g'))
}
var string1=“哈里是什么时候遇到萨利的?”;
var string2=“哈里什么时候遇到萨利的?$@”;
var string3=“哈里是什么时候遇到萨利的?”;
var string4=“哈里是什么时候遇到萨利的?”;
var string5=“哈里什么时候遇到萨莉的?测试”;
[string1,string2,string3,string4,string5]。forEach(函数){
控制台日志(验证字符串)

})
将这些sting推送到一个数组中,这样我,它们可以循环,正则表达式将返回最后两个字符

var string1 = "When did Harry meet Sally ???";
var string2 = "When did Harry meet Sally ?$@";
var string3 = "When did Harry meet Sally ?";

var stringArray = [string1,string2,string3]

stringArray.forEach(function(item){
// will get last two characters else null
 var x = item.match(/[:!?+\<">'$‘;@€`*&.\\/]{2}/g);
 // if null then log the string
 x=== null?console.log(item):''
})
var string1=“哈里是什么时候遇见萨利的?”;
var string2=“哈里什么时候遇到萨利的?$@”;
var string3=“哈里是什么时候遇到萨利的?”;
var stringArray=[string1、string2、string3]
stringArray.forEach(函数(项){
//将获取最后两个字符,否则为空

var x=item.match(/[:!?+\将这些sting推送到一个数组中,这样i,它们可以循环,正则表达式将返回最后两个字符

var string1 = "When did Harry meet Sally ???";
var string2 = "When did Harry meet Sally ?$@";
var string3 = "When did Harry meet Sally ?";

var stringArray = [string1,string2,string3]

stringArray.forEach(function(item){
// will get last two characters else null
 var x = item.match(/[:!?+\<">'$‘;@€`*&.\\/]{2}/g);
 // if null then log the string
 x=== null?console.log(item):''
})
var string1=“哈里是什么时候遇见萨利的?”;
var string2=“哈里什么时候遇到萨利的?$@”;
var string3=“哈里是什么时候遇到萨利的?”;
var stringArray=[string1、string2、string3]
stringArray.forEach(函数(项){
//将获取最后两个字符,否则为空

var x=item.match(/[:!?+\n关于“多么美好的一天!!!”如何,所以一个有效字符串应该包含少于3个连续的puctuations?有效字符串应该只包含一个标点符号。如果有多个标点符号,但它们不应该串联在一起,则可以。“多么美好的一天!!!”应该显示为不正确的“多么美好的一天!”应该是正确的。那么“多么美好的一天!!!”呢?那么一个有效字符串应该包含少于3个连续的字符?有效字符串应该只包含一个标点符号。如果有多个标点符号,但它们不应该串联在一起就可以了。“多么美好的一天!!!”应该显示为错误的“多么美好的一天!”应该是正确的。如果我们必须将哈利什么时候遇见萨利的
var string4=“当哈利遇见萨利时?”显示为不正确怎么办?如果我们必须将哈利什么时候遇见萨利的
var string4=“当哈利遇见萨利时?”显示为不正确怎么办?