- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我想用规则验证字符串:
到目前为止,我已经想出了以下正则表达式:
static personName = XRegExp.cache("^[\\s\\p{L}\\'\\-\\(\\)]+(?=\\S*\\p{L})\\S+$");
这不能正常工作。只有 "^(?=\\S*\\p{L})\\S+$"
这对字母有帮助,我很难理解如何向它添加符号以便所有规则都将被通过了,我做错了什么?
最佳答案
如果您允许的字符仅限于您可以使用的枚举
var regex = XRegExp("^[\\s'()-]*\\p{L}[\\s\\p{L}'()-]*$");
如果你想允许任何字符但只是符号的一个子集,使用“至少 1 个字母”限制
var regex = XRegExp("^[\\p{N}\\s'()-]*\\p{L}[\\p{L}\\p{N}\\s'()-]*$");
查看 JS 演示:
var regex = XRegExp("^[\\s'()-]*\\p{L}[\\s\\p{L}'()-]*$");
console.log( regex.test("Sóme (unknown-string) doesn't like it") );
var regex = XRegExp("^[\\p{N}\\s'()-]*\\p{L}[\\p{L}\\p{N}\\s'()-]*$");
console.log( regex.test("Sóme unknown-string (123)") );
<script src="https://cdnjs.cloudflare.com/ajax/libs/xregexp/3.2.0/xregexp-all.min.js"></script>
详情
^
- 字符串的开始[\\s'()-]*
- 0 个或多个空格,'
, (
, )
或 -
字符[\\p{N}\\s'()-]*
- 0 个或多个数字、空格和允许的符号\\p{L}
- 一个字母[\\s\\p{L}'()-]*
- 0 个或多个空格、字母、'
、(
, )
或 -
字符[\\p{L}\\p{N}\\s'()-]*
- 0 个或多个字母、数字、空格和允许的符号$
- 字符串结尾。关于regex - xregexp 有不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55177849/
我搜索了 XRegExp 的 web site ,以及 GitHub readme 。那里唯一的示例加载 xregexp-all.js,这正是我不想做的,因为它加载了所有插件。在SO上搜索,我发现了这
我想为所有包括非斜体字符的电子邮件地址编写正则表达式。 我试过了,但它返回错误 请尽快提供正确的解决方案 var em = XRegExp('^([\\p{L}+|\\p{N}*][@]
我需要在 JavaScript 中使用正则表达式的 lookbehind,所以找到了 Simulating lookbehind in JavaScript (take 2) .另外,我发现作者 St
我想用规则验证字符串: 字符串必须至少包含一个字母 字符串只能包含那些符号(但不是必须的):' , - , ( , ) 如果字符串中存在一个符号,它还必须包含一个字母(至少一个第一个项目符号) 不允许
我的目标是替换所有不是破折号 (-) 或不是数字或不是字符串中任何语言的字母的字符。所有 #!()[] 以及所有其他符号都将替换为空字符串.所有出现的 - 也不应被替换。我为此使用了 XRegExp插
如果您使用 XRegExp 的 'x' 标志,则不清楚如何将文字 '#' 添加到搜索中。 The documentation似乎没有产生任何照明。 例如: > XRegExp("the # hey",
我想实现一种方法来获取一个开放跨度标签和它的关闭标签之间的所有内容。问题是有时我可以嵌套跨度,我想确保我的正则表达式不会停止它看到的第一个结束跨度。 要查看我的问题,请查看:Regex101 : ne
我下载了RequireJS单页应用sample 。在www/lib文件夹中,我放置了XRegExp源xregexp-all.js (版本2.0.0)。 在 www/app/main.js 中,我添加了
我想将 XRegExp 函数转换为纯 JavaScript RegExp。基本上所有非字母数字字符都将被替换为“_”,包括空格。 正文 这是示例文本 *\&^%$#@!~' 会像 这_is_a_sam
我的伪 CoffeeScript 代码: xre = require('xregexp').XRegExp bodyRe = xre( '\\*\\s(?.*)', 'img') xre.forE
我正在使用 XRegExp 来检查 unicode 正则表达式。除了 IE11 之外,它在我测试过的任何浏览器中都可以正常工作。 在我的脚本中,我定义了要检查的正则表达式: var unicodeWo
我觉得这将是一个愚蠢的问题,但我完全感到困惑。 我正在使用 Javascript 的 XRegExp 库生成一个正则表达式,该正则表达式匹配任何字母表中的任何单词,但不匹配带有数字、标点符号或特殊字符
所以我一直在尝试实现 p{L}我的 Angular 项目中的模式没有任何成功。我已经尝试过这个 npm package 并按如下方式设置我的变量(以多种方式): nameRegex = new Reg
我正在调查 Xregexp支持以字母开头的命名参数的表达式。这是我的表达: (?:d:|duration:)(?.*\S+).*(?:t:|title:)(?(?:.*\S+))(?:.*(?:(?:
这个问题在这里已经有了答案: What special characters must be escaped in regular expressions? (13 个答案) 关闭 4 年前。 我写
我正在尝试让这个名称验证正则表达式正常工作,但遇到了问题。我已经确保我有 regexp 的 unicode 插件,但它似乎不起作用。此正则表达式可与 php pcre 正则表达式配合使用。 XRegE
以下代码在我的两台不同计算机(Windows 7,Chrome 12.0.742.100)上的两个 chrome 中都会失败。 Test
我很难找出 XRegExp 中的正则表达式来接受 JavaScript 中的这些类型的要求: 接受所有 UTF-8 字符 单词之间允许有空格,但只能有 1 个空格,不能有多个空格。 允许所有符号,例如
我正在尝试检查给定的 UTF-8 字符串是否仅由字母组成。 我尝试了在这里找到的解决方案:Validating user's UTF-8 name in Javascript 给定字符串:Ciesio
我是一名优秀的程序员,十分优秀!