- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用以下正则表达式匹配可以包含任意数量的数字字符或小数点的字符串:
([0-9.])*
下面是一些用于测试正则表达式的 C# 代码:
Regex regex = new Regex("([0-9.])*");
if (!regex.IsMatch("a"))
throw new Exception("No match.");
我希望在此处抛出异常,但事实并非如此 - 我是否错误地使用了 Regex 或模式中是否存在错误?
编辑:我还想匹配一个空白字符串。
最佳答案
*
量词表示“匹配 0 个或多个”。在您的情况下,“a”返回 0 个匹配项,因此正则表达式仍然成功。你可能想要:
([0-9.]+)
+
量词表示“匹配 1 个或多个,因此它在非数字输入上失败并且不返回任何匹配项。快速旋转 regex tester 显示:
input result
----- ------
[empty] No matches
a No matches
. 1 match: "."
20.15 1 match: "20.15"
1 1 match: "1"
1.1.1 1 match: "1.1.1"
20. 1 match: "20."
看起来我们有一些误报,让我们修改正则表达式:
^([0-9]+(?:\.[0-9]+)?)$
现在我们得到:
input result
----- ------
[empty] No matches
a No matches
. No matches
20.15 1 match: "20.15"
1 1 match: "1"
1.1.1 No matches: "1.1.1"
20. No matches
凉爽。
关于C# Regex.IsMatch 不应该返回 true?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4642272/
我正在使用 lodash用于比较以下两个对象: obj1 = { "_id": "57767", "Re": { "PropertyTypes": [
我为缓存扩展编写了测试。我想按模式从缓存中删除。 a) 在这个例子中测试失败 [Test] public void Should_found_by_pattern() {
我知道有很多类似的问题,但这是特定于我的正则表达式的。我正在尝试查看字符串中是否有任何 html。 Regex tagRegex = new Regex(@"]+)[^>]*>.*?") if(tag
我正在尝试查找遵循“char 'h' 后跟一位或多位数字”模式的文件,例如 h0、h1、h22 但我也得到“h22 cco”和 hhh0 如何解决这个问题 files = new List((from
我正在对一些转义字符串进行匹配比较: Regex.IsMatch("\\Application.evtx", "DebugLogs\\ConfigurationServices.log"); 我不明白
我一直在努力解决一个奇怪的问题。我有一组正则表达式模式,用于匹配和阻止针对我网站的黑客攻击。 有一种特定的模式非常常见,但是由于某种原因,我针对它的模式并不总是与传入的 url 匹配。 如果我手动单步
我有一个列表,例如: Type [data] Device Type [data] Pin type [data] 我试图只搜索类型 [data] 而不是设备类型或 Pin 类型。请注意 [data]
我尝试使用正则表达式来检查字符串是否仅包含:0-9、A-Z、a-z、\、/或 -。我使用了 Regex validator = new Regex(@"[0-9a-zA-Z\-/]*"); 无论我引入
我有一个小函数,用于在用户取消编辑后验证 StringGrid 中的列。 void validateColumn(int column, const UnicodeString regexp, TSt
谁能告诉我以下提到的正则表达式中的错误: 正则表达式:@"^(tcm:\d+-\d+)" 输入字符串:tcm:12-123a6 问题:据我所知,\d 应该只匹配数字。输入字符串中有'a'。它仍然匹配输
我有以下代码可以正常工作,但我需要用变量替换站点地址... string url = HttpContext.Current.Request.Url.AbsoluteUri; // Get the
我有以下代码, filter="search.ismatch('Paris\-l''Hopital*', 'DestinationAddress/City', 'full', 'all')" 此过滤器
我期待下面的代码返回 Chris Davis 和 Mike Trout。它只返回 Mike Trout。是否无法匹配多个值?请记住,我最终需要匹配 30 多个值。我也尝试过使用indexOf,但它的扩
这个问题已经有答案了: Regex doesn't work in String.matches() (9 个回答) 已关闭 5 年前。 原始正则表达式:[v]\d+?\.\d 捕获字符串中的“v{N
我有一个很长的文本 (50-60 KB),我需要针对它运行几个正则表达式(总共大约 100 个规则)。然而,这太慢了,以至于它基本上不起作用。 我所做的只是围绕规则创建了一个循环,其中每个规则执行 R
这是我的代码的摘录: string[] myStr = { " Line1: active 56:09 - tst0063, tst0063",
我正在使用 new Regex("(?m)^\S+ [A-Z]{1,3}$").IsMatch(sStringToCheck) 检查多行字符串。 我的问题是,它似乎只验证字符串的最后一行。 此列表通过
是的,这是另一个 .net 正则表达式问题:)(请原谅导致实际问题的长篇华夫饼) 我允许用户使用简单的日期/时间宏来快速输入日期(他们不需要日期选择器) 例如他们可以输入: d +1d -2h 这将为
我编译的代码: namespace TestRegExp { class Program { static void Main(string[] args)
我正在尝试使用以下正则表达式匹配可以包含任意数量的数字字符或小数点的字符串: ([0-9.])* 下面是一些用于测试正则表达式的 C# 代码: Regex regex = new Regex("([0
我是一名优秀的程序员,十分优秀!