我正在寻找一个正则表达式,只有当它的所有字符都是唯一的,这意味着该单词中的每个字符才会出现一次。
例:
abcdefg – >将返回MATCH
abcdefgbh – >将返回NO MATCH(因为字母b重复多次)
尝试这个,可能会工作,
^(?:([A-Za-z])(?!.*\1))*$
说明
Assert position at the beginning of a line (at beginning of the string or after a line break character) «^» Match the regular expression below «(?:([A-Z])(?!.*\1))*» Between zero and unlimited times,as many times as possible,giving back as needed (greedy) «*» Match the regular expression below and capture its match into backreference number 1 «([A-Z])» Match a single character in the range between “A” and “Z” «[A-Z]» Assert that it is impossible to match the regex below starting at this position (negative lookahead) «(?!.*\1)» Match any single character that is not a line break character «.*» Between zero and unlimited times,giving back as needed (greedy) «*» Match the same text as most recently matched by capturing group number 1 «\1» Assert position at the end of a line (at the end of the string or before a line break character) «$»