【发布时间】:2018-02-03 01:47:56
【问题描述】:
当用户在输入栏中输入一个术语时,如果该术语与我的 json 列表中的内容匹配,它将被拆分为一个数组。例如,如果用户输入诸如“st.mp, st.mp, fireball”之类的内容,则数组变为["mp",",","mp",",","fireball"]。逗号也包括在内,这是故意的。每个术语都会在我的应用中创建一个图像。
我需要捕获术语“xx”。逗号和“xx”应该用来分隔这些术语。他们应该以同样的方式工作。如果我输入“st.mp xx fireball”之类的内容,它应该返回["mp","xx","fireball"]。
现在我的正则表达式是(\w+( \w+)*|\s) 我可以得到带有空格的术语(例如,如果我输入“red fireball”,它会返回["red fireball"])我不确定要添加什么来捕获“xx”。我认为正在发生的事情是,当我输入“st.mp xx fireball”之类的术语时,它会捕获整个内容,并且与我的 json 中的任何内容都不匹配。我还是正则表达式的新手。我尝试过的事情从(xx) 到\b(xx) 不一而足,我什至不知道该尝试什么。
【问题讨论】:
-
是否要求您只使用正则表达式匹配?你能用 Javascript 的 .split() 函数吗?
-
我正在使用 .split() 与正则表达式匹配。
标签: javascript json regex