当前位置: 首页 > 知识库问答 >
问题:

正则表达式是否允许两个字符串之间有空格?[副本]

司徒鸿文
2023-03-14

我有以下模式来验证字符串

pattern ="^[a-zA-Z0-9_{}#$\/\-\+@!?()^%$`~|:,.=\[\]]*$"

但在这里,它也不接受两个字符串之间的空间。有人能告诉我在上面的模式中我必须做什么改变,以便在两个字符串之间留出空间吗?但是字符串的开头和结尾不应该允许有空格。

共有1个答案

戴博
2023-03-14

您可以使用正向前瞻断言,并使用\s匹配空白,使用[^\s]\s匹配非空白

pattern ="(?=^[^\s]+(.*[^\s]+)*$)^[a-zA-Z0-9_{}#$\/\-\+@!?()^%$`~|:,.=\[\]\s]*$"

正则表达式解释

 类似资料:
  • 我正在尝试编写一个正则表达式,使其只有两个单词,它们之间只有一个空格。两个字都不能少于三个字符。例子:乔·史密斯

  • 我想验证用户输入,它应该由1和3之间的两位数字组成,用空格隔开。到目前为止,示例是匹配的。 是我的正则表达式还是我正在用一开始就错了吗? 例如,如果我输入,我就会得到这个。相反,我想验证它是正确的,然后继续进行,而不会被困在循环中。

  • 我想要一个防止空白的正则表达式,只允许带标点符号的字母和数字(西班牙语)。下面的正则表达式工作得很好,但是它不允许标点符号。 例如,当使用这个正则表达式时,“Hola como estas”是可以的,但是“Hola,como estas?”不匹配。 如何将其调整为标点符号?

  • 我正在尝试编写一个正则表达式以允许数字和中间只有一个hypen(不能在开始或结束时)说模式:,是可以接受的,但模式:或或或或是不可接受的 我试过这样做,但这将允许-在开始时,也允许多个- 我不太擅长正则表达式,所以一点解释会很有帮助。 编辑:很抱歉再次打扰你,但我需要的数字只有2位(123-346)应被视为无效。

  • 我在ASP.NET应用程序中有一个textbox,我需要使用正则表达式来验证用户输入字符串。要求字符串的连字符总数只能为一个。 匹配项: null 测试--您好 -测试- 测试-您好--

  • 我尝试借助< code > nodejs < code > fs . read file sync()函数将文件内容提取到字符串中,如下所示: 在此之后,我想通过获取两个字符串之间的内容: 我有一个类似这样的字符串: 我需要在