问题标签 [character-class]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
243 浏览

regex - 如何列出正则表达式字符类的成员,例如 [:punct:]?

例如,我从文档中知道,例如

包括

但我想从命令行检查(在我的情况下,是 R,但在 bash 等中可能类似),并列出 [:alpha:] 等。

0 投票
8 回答
82015 浏览

java - 如何计算字符串中的大写和小写字母?

哟,所以我试图制作一个可以从用户那里获取字符串输入的程序,例如:“ONCE UPON a time”,然后报告字符串包含多少个大写和小写字母:

输出示例:字符串有 8 个大写字母 字符串有 5 个小写字母,我应该使用字符串类而不是数组,关于如何开始使用这个的任何提示?在此先感谢,这是我到目前为止所做的:D!

0 投票
1 回答
958 浏览

c# - C# Regex Character Class / String Pattern - 识别感叹号

我想做这样的事情——如果表达式包含感叹号,错误;否则,没有错误。

表达式可能是一个值本身或数学/字符串函数。示例如下:
expr = abc;
表达式 = 123;
expr = 连接(123,abc);
expr = sin(0.5);

我正在使用 Regex 库来识别字符串模式。
对于上面的每一个表达式,都没有提示错误(预期的结果),除了最后一个表达式“expr=sin(0.5)”,它提示了错误!它应该不这样做。

所以只是想知道我是否错误地编写了字符串模式?或者我需要修改代码的哪一部分以获得正确的结果?

提供我的代码:

0 投票
1 回答
191 浏览

ruby - Ruby中嵌套的POSIX正则表达式字符类?

如何将 POSIX 样式的字符类嵌套在另一个字符类中?

我正在尝试替换空格或破折号的匹配:

那是行不通的。我使用的是 Ruby 1.9.3,官方文档没有嵌套示例。我需要 POSIX 样式,因为我正在使用 UTF-8,而且我的示例从实际表达式中被简化了。

谢谢你的帮助!

0 投票
1 回答
465 浏览

regex - 正则表达式 - [,-?[0-9]+]* 模式的问题

这是我的模式:

出于某种原因,它是匹配的:~01@Y 1,710,9,

但不是:~01@Y 1,710,9

我不明白为什么它需要最后一个逗号?

http://regex101.com/r/kP4pZ2/1

0 投票
4 回答
920 浏览

bash - 打印 POSIX 字符类

给定一个类,例如

我希望输出是

请注意,该方法应该适用于所有 POSIX 字符类。这是我尝试过的

§ 字符类

0 投票
1 回答
433 浏览

regex - 为什么 \p{Lu} 匹配小写字母?

Lu应该代表Letter, Uppercase,但是我得到了意想不到的结果

可以看出,Lu是替换上下字符。

§ 正则表达式类别

§ 支持的类别

0 投票
4 回答
170 浏览

regex - 使用反向引用作为条件的 C++11 正则表达式

我意识到反向引用不能在字符类中使用,但我需要这个功能。我想知道是否有替代的有效正则表达式可用于完成此操作。

前提:我使用的是 Visual Studio 2013。它必须在该环境中工作(即 std::regex)。

作为一个简化的示例,我希望执行的是在仅是大写罗马字母(即 AZ)的单词列表上进行搜索,例如假设表达式:

"^(.)([A-\1])([\2-Z])$"

理想情况下,这将返回匹配 3 个字母的单词,其中第二个字符在词法上小于或等于第一个字符,第三个字符在词法上大于或等于第二个字符。示例匹配将包括“CAT”和“EEL”,但不包括“COW”或“PIG”。

那么,是否有一个稍微简单的正则表达式(不包括 26×N 指数交替条件)可以做到这一点?还是我应该编写自己的代码来做到这一点?

附录:没有收到简化案例的替代有效正则表达式我相信可以回答我的问题,因为我只需要编写自己的代码来执行这样的搜索。

要了解现实世界的问题,我将在这里简单地指导您:

http://joeslater.orgfree.com/ZigWord/tutorial.html

该教程可能足以理解该问题,但提供了一些难题,当然欢迎您尝试。它们都是手工生成的。我需要我的程序使用可供选择的单词列表来生成这样的谜题。

真正的问题是当拼图尺寸变得有点大时,例如 9×9 或 11×11 的网格,以及大量的单词(几百或几千)。在拼图构建时尝试每个单词以适应未填充位置的蛮力方法是一个不可接受的解决方案 - 在我取消之前使用这种方法的早期尝试不间断地运行了一周,使用 1,300 个单词的列表作为11×11 拼图(未生成拼图)。

所以我希望在拼图构建时使用正则表达式来过滤掉适合拼图的可能单词。目前,我相信我只需要编写自己的代码来执行此搜索,但如果有人不这么认为,请赐教。

0 投票
1 回答
76 浏览

regex - 正则表达式数字或期间

我在使用正则表达式时遇到问题。我正在尝试找到字母和数字/句点/连字符的组合。所以它总是以大写字母开头,后跟数字、句点或连字符,然后是空格。所以所有这些都应该工作

  • D7
  • A.
  • H-

但这些不应该

  • GJ
  • G6.(第二个参数后没有空格)

目前我正在尝试这个但没有成功

0 投票
1 回答
645 浏览

java - 如何反转正则表达式以在 java replaceAll 方法中使用它?

我需要字符串示例的最后一个字母字符:ABRACADABRA123456. 正则表达式[a-zA-Z](?=\d+)在我所有的情况下都给了我匹配。如何更改(反转)表达式以在 java 方法中使用它,例如:"ABRACADABRA123456".replaceAll(<inverse-regex>,"")

输入:ABRACADABRA123456
使用:"ABRACADABRA123456".replaceAll(...)
输出:(A字符串的最后一个字母字符)

解决:System.out.println("ABRACADABRA123456".replaceAll("([\\D]+)([a-zA-Z](?=\\d+))([\\d]+)","$2")));