javascript - Match Regex 命令检查一次且仅一次出现 [+,-,/,*,U,D]

标签 javascript python regex

我有一个场景,我需要使用 match_regex 来识别下面给出的字符是否只出现一次,并且输入不应包含给定列表之外的任何其他字符或数字[+-/*UD]。应将每个字符视为单独的字符。

仅由一次 [+,-,/,*,U,D] 组成

有效案例:

+-/    
-UD    
/-D    
+D/

最佳答案

您可以使用negative look ahead assertioncaptured group value 。以下正则表达式将检查每个字符后面是否相同。只有出现一次的字符串才会被匹配。

^(?:([+\-\/*UD])(?!.*\1))+$
<小时/>

Regex explanation here

Regular expression visualization

<小时/>

检查演示片段:

function change(ele) {
  var re = /^(?:([+\-\/*UD])(?!.*\1))+$/;
  document.getElementById('out').textContent = re.test(ele.value) ? 'Valid' : 'Not Valid';
}
<input type="text" oninput="change(this)" />
<span id="out"></span>

关于javascript - Match Regex 命令检查一次且仅一次出现 [+,-,/,*,U,D],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37893800/

相关文章:

javascript - 错误 : $injector:modulerr ASP. 网络核心

python - Django rest 框架验证 POST 请求参数的最佳方式

python - 如何使用map和filter来实现这个?

regex - 带有重复组的正则表达式 : Define max length of string,

javascript - Firefox 键盘快捷键是否仅在浏览器启动时激活?

javascript - 如何从字符串中获取日期对象?

regex - 为什么正则表达式在 Karate 框架中不起作用?

c# - 使用正则表达式提取数据 url

javascript - Three.js 不是 THREE.Object3D 的实例

python - 迭代 pandas 数据框中的行并匹配列表字典中的值以创建新列