我在javaScript中创建一个应用程序,但我对RegExp有点困惑。我需要将用户类型设置为textArea所需的字符串形式,并让aplication使用它,所以我需要限制textArea输入。
我需要像这样: 760,8,20,50 / 3,10,160 / 40,3001
带逗号后的可选空格,以及可选的项目数,其中一些可以选项带有sufix(* / 1 ...)
我也希望有类似的模式,表现为simillary,但可能有这样的前缀:
ST。 760,ST。 8,st.20,st。 50/3,st。 10,st。 160/40,st。 3001
还有可选空格。如果有人可以帮我制作这个regExp,我会很高兴,因为我是创建这个的真正的乞丐......
我尝试了以下正则表达式((\d+)|((\d+)/(\d+))),(\s?)
。
提前致谢!
答案 0 :(得分:1)
我认为
^([ ]*[0-9]+(/[0-9]+)?[ ]*\,)*([ ]*[0-9]+(/[0-9]+)?[ ]*)$
和
^([ ]*(st\. )?[0-9]+(/[0-9]+)?[ ]*\,)*([ ]*(st\. )?[0-9]+(/[0-9]+)?[ ]*)$
关于正确的声音
答案 1 :(得分:1)
我会用这样的东西:
^\d+(/\d+)?(\s*,\s*\d+(/\d+)?)*$
然后,对于第二个:
^(st\.\s*)?\d+(/\d+)?(\s*,\s*(st\.\s*)?\d+(/\d+)?)*$
请记住,任何时候你都可以使用转义序列,这将使你的正则表达式更加清晰。所以,不要使用[0-9],而是使用\ d,并使用\ s接受所有类型的空格(空格,制表符等)。
答案 2 :(得分:0)
我希望它可以帮到你:
选择字段:
([0-9]+/[0-9]+[,]{0,1})|([0-9]+[,]{0,1})
要替换它们:
st\.\ &1&2
使用sed命令行:
sed -e "s/([0-9]+/[0-9]+[,]{0,1})|([0-9]+[,]{0,1})/st\.\ &1&2/g"