Javascript:如何编写正则表达式来检查符号是否被所有事件的空格包围

Javascript:如何编写正则表达式来检查符号是否被所有事件的空格包围,javascript,regex,Javascript,Regex,句子中的冒号“:”在所有出现的地方都应该被空格包围 我有一个字符串“是的,我做:有乐趣的事情” 我的正则表达式应该返回false,我已经尝试了下面的方法,即检查第一次出现的情况,如果发现它返回的是true /(\s:\s)/.test("sd : sds:sds") 可以执行完全相反的操作,搜索由非空格字符(在符号之前或之后)包围的符号 可以执行完全相反的操作,搜索由非空格字符(在符号之前或之后)包围的符号 如果您想要纯正则表达式解决方案,则使用此基于交替的正则表达式查找无效输入: /(?:^

句子中的冒号“:”在所有出现的地方都应该被空格包围

我有一个字符串“是的,我做:有乐趣的事情”

我的正则表达式应该返回false,我已经尝试了下面的方法,即检查第一次出现的情况,如果发现它返回的是true

/(\s:\s)/.test("sd : sds:sds")

可以执行完全相反的操作,搜索由非空格字符(在符号之前或之后)包围的符号


可以执行完全相反的操作,搜索由非空格字符(在符号之前或之后)包围的符号


如果您想要纯正则表达式解决方案,则使用此基于交替的正则表达式查找无效输入:

/(?:^|\S):|:(?:$|\S)/

正则表达式详细信息:

  • (?:^ |\S)
    :匹配开始或非空白
  • :匹配冒号
  • |
    :或
  • :匹配冒号
  • (?:$\S)
    :匹配结尾或非空白
const regex=/(?:^ |\S):|:(?:$|\S)/;
const arr=[`是的,我做:有趣的事情',
`是的,我喜欢:有趣的事情`,
`:fun`,
`乐趣:`,
`是的,我喜欢:有趣的事情`,
`:fun`,
`乐趣:`];

对于(var i=0;i如果您想要纯正则表达式解决方案,则使用此基于交替的正则表达式查找无效输入:

/(?:^|\S):|:(?:$|\S)/

正则表达式详细信息:

  • (?:^ |\S)
    :匹配开始或非空白
  • :匹配冒号
  • |
    :或
  • :匹配冒号
  • (?:$\S)
    :匹配结尾或非空白
const regex=/(?:^ |\S):|:(?:$|\S)/;
const arr=[`是的,我做:有趣的事情',
`是的,我喜欢:有趣的事情`,
`:fun`,
`乐趣:`,
`是的,我喜欢:有趣的事情`,
`:fun`,
`乐趣:`];
对于(var i=0;i将全局标志(
g
)添加到正则表达式的末尾,并检查是否有非空格字符

console.log(!/\S:|::\S/g.test(“sd:sds:sds”);
console.log(!/\S:|:\S/g.test(“sd:sds:sds”);
将全局标志(
g
)添加到正则表达式的末尾,并检查是否有非空格字符

console.log(!/\S:|::\S/g.test(“sd:sds:sds”);

console.log(!/\S:|:\S/g.test(“sd:sds:sds”));
您可以通过正则表达式和简单逻辑实现它。这不是实现用例的正确方法,但可能会有所帮助

功能检查(str){
设reg=/:/gi;
让match=str.match(reg);
if(match&&match.length==str.split(“:”).length-1){
返回true;
}否则{
返回错误
}
}
控制台日志(检查(“sdf:sdf”);
控制台日志(检查(“sdf:sdf”);
日志(检查(“sdf:sdf:”);

console.log(check(“sdf:sdf sdfds:sdf”);
您可以通过正则表达式和简单逻辑来实现它。这不是实现用例的正确方法,但可能会有所帮助

功能检查(str){
设reg=/:/gi;
让match=str.match(reg);
if(match&&match.length==str.split(“:”).length-1){
返回true;
}否则{
返回错误
}
}
控制台日志(检查(“sdf:sdf”);
控制台日志(检查(“sdf:sdf”);
日志(检查(“sdf:sdf:”);

console.log(check(“sdf:sdf sdfds:sdf”);
Nope。它不适用于!/(\S:\S)/.test(“sd:sds”)。它为此返回true。Nope.它不适用于!/(\S:\S)/.test(“sd:sds”)。它为此返回true。如果
fun:
有效输入?(以
结尾的行:
)@anubhava,不,这不是一个有效的输入,但是我正在检查startswith或endswithIf
fun:
是否是一个有效的输入?(以
结尾的行:
)@anubhava,不,这不是一个有效的输入,但是我正在检查startswith或endswith