首页 > 解决方案 > 排除通配符的正则表达式

问题描述

我有一个 javascript 文件,用于验证字符串并将一个字符替换为另一个字符。其中一项要求是排除数字 [0-9] 和特殊字符 \W。但是必须包含被称为“wild char” * 的星号。所以我有以下正则表达式适用于除百搭字符之外的所有内容。它排除了它,当我遇到它时我需要做一个例外..我如何修改我的正则表达式来适应这种情况?

/!?([0-9])|\W/.test(code[j])

标签: javascriptregex

解决方案


在 RegEx 中测试字符串时,您可以选择使用多个匹配器。您的表现可能会有所不同,但我建议您研究以下内容:

!?([0-9]|\*)|\W.\test(code[j])

当然,您并没有真正提供任何示例字符串,所以我不得不推断您的用法。使用转义字符,\*可以将其视为常规字符,并且可以将其添加到匹配器中。此外,您还可以将其缩短为

!?(\d|\*)|\W.\test(code[j])

Where\d将匹配任何数字 - 它与 [0-9] 相同,只是简写。

看看https://regex101.com/r/E3uied/2


推荐阅读