【问题标题】:Regular expression to replace multiple occurances of a characters leaving one by a blank正则表达式替换多个出现的字符,将一个字符留空
【发布时间】:2011-07-04 09:13:52
【问题描述】:

我想在 solr 中实现通配符查询。我希望当我搜索query= ****diamond 时,它应该搜索whiltediamond 等。即所有'*' 应替换为''(空白),除了1 * 即。它应该以*diamond 运行,我正在使用

query=query.replace(/[^a-zA-Z 0-9 * ? :  .]+/g,'');

表示除*?:. 之外的所有特殊字符都替换为“”。现在我想转换它,因为它应该用'' 替换所有*,留下一个*。 比什么应该是正则表达式。

【问题讨论】:

    标签: regex solr wildcard


    【解决方案1】:

    您的正则表达式应该执行以下操作:
    只用一个星号替换任意数量的星号:

    query=query.replace(/\*+/,'*');
    

    【讨论】:

    • Daniel Hilgarth:这里的“/g”是什么
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-12
    • 1970-01-01
    相关资源
    最近更新 更多