我需要一个正则表达式,允许一个或多个单词的输入字符串,但是列表必须仅用点分隔。例如:
test = OK
test.test = OK
test.test.1 = OK
test@test = NO
test_test = NO
test-test1 = NO
test. = NO
我的正则表达式可以使用,但也可以接受其他符号,例如-
^[a-z0-9*.\-_\.:]+$
答案 0 :(得分:4)
如果要确保它不是以点开头或结尾,请使用<widget xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.zkoss.org/2005/zul">
<style src="${wr}/default.css"/>
<div>
<hlayout>
<textbox id="searchInput"/>
<button id="searchBtn" label="Search"/>
</hlayout>
</div>
说明:
^[a-zA-Z0-9]+(?:\.[a-zA-Z0-9]+)*$
-匹配输入的开头^
-匹配字母数字序列[a-zA-Z0-9]+
-非捕获组的开始
(?:
-匹配一个\.
.
-匹配字母数字序列[a-zA-Z0-9]+
-关闭群组)
-重复上一组任意次数*
-匹配输入结束您也可以将$
替换为[a-zA-Z0-9]
,因为这将匹配非单词且不带下划线的任何字符。基本上是[^\W_]
减去\w
字符。
答案 1 :(得分:1)