pol*_*nts 15
你想要这样的事情:( 在rubular.com上看到它的行动):
^\s*\S+\s*$
Run Code Online (Sandbox Code Playgroud)
说明:
^
是字符串锚点的开头$
是字符串锚点的结尾\s
是空格的字符类\S
是否定\s
(注意大小写差异)*
是"零或多"重复+
是"一个或多个"重复例如,上面的模式与空字符串不匹配.如果这是预期的行为,原始规范不是很清楚,但如果允许空的"文本",那么只需使用\S*
,即匹配零或更多(而不是一次或多次)重复\S
.
因此,这个模式(与上面相同,除了*
用来代替+
)
^\s*\S*\s*$
Run Code Online (Sandbox Code Playgroud)
将匹配:
上述模式用于\S
定义"文本"字符,即除了空格之外的任何字符.这包括标点和符号之类的东西,即字符串" #@^$^* "
匹配两种模式.目前尚不清楚这是否是所期望的行为,即它可能" ==== AWESOMENESS ==== "
是期望的匹配
即使对于这种情况,该模式仍然有效,我们只需要更具体地使用我们的字符类定义.
例如,这种模式:
/^[^a-z]*[a-z]*[^a-z]*$/i
Run Code Online (Sandbox Code Playgroud)
将匹配(如rubular.com上所示):
==== AWESOMENESS ====
Run Code Online (Sandbox Code Playgroud)
但不是:
==== NOT AWESOME ====
Run Code Online (Sandbox Code Playgroud)
请注意,^
元字符在用作字符类定义中的第一个字符时,不再表示字符串锚点的开头,而是表示字符类定义的否定.
还要注意/i
模式中修饰符的使用:这使得不区分大小写的匹配.实际语法可能因语言/口味而异.