正则表达式匹配数字或特定字符串(即“全部”)

2024-04-03

这听起来很简单,但我的正则表达式知识有限。

我需要一个表达式来匹配十进制数或字符串“all”,就像在范围验证器中允许单词 all 代表最大范围一样。

我认为这样的事情可能会起作用:

((^[-+]?\d*\.?\d*)|any)

但以上不适用于“任何”。


这是一个不使用正则表达式的解决方案。

private static bool IsNumberOrGivenString(string number, string text, CultureInfo culture)
{
    double result;
    if (double.TryParse(number, NumberStyles.Float, culture, out result))
    {
        return true;
    }

    return number.Equals(text, StringComparison.OrdinalIgnoreCase);
}

private static bool IsNumberOrGivenString(string number, string text)
{
    return IsNumberOrGivenString(number, text, CultureInfo.InvariantCulture);
}

使用示例:

Console.WriteLine(IsNumberOrGivenString("898", "all")); // true
Console.WriteLine(IsNumberOrGivenString("all", "all")); // true
Console.WriteLine(IsNumberOrGivenString("whatever", "all")); // false
Console.WriteLine(IsNumberOrGivenString("898,0", "all", CultureInfo.GetCultureInfo("sv-SE"))); // true
Console.WriteLine(IsNumberOrGivenString("898,0", "all", CultureInfo.GetCultureInfo("en-US"))); // false

与使用正则表达式相比,此代码的优点是它(可以)以本地化方式运行,使用任何使用的十进制符号。如果有的话,它也会失败该数字,比如说.当该字符不是有效的小数点分隔符时。

由于字符串比较忽略大小写,因此它也将匹配单词“all”,无论它是“all”、“All”、“aLl”还是任何其他大小写字母的组合。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

正则表达式匹配数字或特定字符串(即“全部”) 的相关文章

  • 有没有办法在不重新编译的情况下覆盖 .NET Windows 服务名称?

    我有一个 Windows 服务可执行文件 我知道它是用 NET 编写的 我需要将其安装在不同的服务名称下以避免冲突 安装无论如何都不提供指定服务名称 如果我只能访问二进制文件 当我使用 installutil 安装它时是否可以覆盖服务名称
  • 如何使 Windows 窗体的关闭按钮不关闭窗体但使其不可见?

    该表单有一个 NotifyIcon 对象 当用户单击 关闭 按钮时 我希望表单不关闭而是变得不可见 然后 如果用户想再次查看该表单 可以双击系统托盘中的图标 如果用户想关闭表单 可以右键单击该图标并选择 关闭 有人可以告诉我如何使关闭按钮不
  • F# 命名约定

    F 是否有 官方 命名 大小写约定 我总是怀疑是否使用 C 风格 Class MyFunctionName or Module my function name 在 F 中 您应该混合 BCL 类和 F 库类 它们具有不同的大小写 并且代码
  • 使用 NServiceBus FileShareDataBus 时清理文件

    我在 NServiceBus 3 中使用 FileShareDataBus 是否支持清理数据总线文件 如果不是 实现此目的的最佳实践是什么 例如如何确保该文件不是错误队列中消息的一部分 鉴于不可能知道消息在错误队列中停留多长时间 我通常会在
  • Golang 正则表达式在字符串之间替换

    我有一些可能采用以下形式的字符串 MYSTRING MYSTRING n MYSTRING n MYSTRING randomstringwithvariablelength n 我希望能够将其正则表达式为MYSTRING foo 基本上替
  • Json.NET - 反序列化接口属性引发错误“类型是接口或抽象类,无法实例化”

    我有一个类 其属性是接口 public class Foo public int Number get set public ISomething Thing get set 尝试反序列化Foo使用 Json NET 的类给我一条错误消息
  • PHP 正则表达式匹配字符串的最后一次出现

    我的字符串是 text1 A373R12345 我想找到该字符串最后出现的非数字数字 所以我使用这个正则表达式 0 9 然后我得到这个结果 1 A373 2 12345 但我的预期结果是 1 A373R 它有 R 2 12345 另一个例子
  • Windows 窗体中的标准 Windows 菜单栏

    我注意到添加了一个MenuStrip 来自工具箱 我的表单设计不会产生像许多本机 Windows 应用程序中那样的菜单栏 相反 我得到了一个像 Visual Studio 自己的菜单栏 没有任何样式设置MenuStrip似乎模仿了更常见的本
  • 页面中某些超链接控件上的本地化资源未发生变化

    上面是正在开发中的网站的屏幕截图 我们有一个 DropdownList 控件 并在其 SelectedIndexChanged 上进行回发 然后我们更改站点区域性 然后加载相应的资源文件 DropDownList ASP NET 代码
  • 如何在 CakePHP 中“验证”人名?

    我有一个 PHP 脚本 应该检查 有效 的人名 但最近破解了带有空格的名称 因此我们向验证器添加了空格 除了这样做之外 有没有办法向 CakePHP 的验证器添加黑名单以阻止所有 无效 字符 而不是允许 有效 字符 注意 我 通常 知道如何
  • .NET EXE 内存占用

    即使是一个简单的Notepad http en wikipedia org wiki Notepad 28software 29C 中的应用程序消耗兆字节的 RAM 如任务管理器中所示 最小化应用程序时 任务管理器中的内存大小会显着下降 并
  • 如何强制我的 .NET 应用程序以管理员身份运行?

    一旦我的程序安装在客户端计算机上 如何强制我的程序以管理员身份运行Windows 7的 您需要修改嵌入到程序中的清单 这适用于 Visual Studio 2008 及更高版本 项目 添加新项目 选择 应用程序清单文件 改变
  • MySQL正则表达式:如何将字符串中的数字与\d匹配?

    我有一个专栏release date它以字符串格式存储日期 不是 DATETIME 格式 因为它们有时可以是任何其他字符串文字 我想根据给定的月份和年份查找任意日期的所有记录 尝试遵循但对我不起作用 gt Post find all con
  • .net 中的 deflate、gzip 和 zlib 的一个库

    首先 我们来定义一些容易混淆的术语 deflate compression algorithm zlib header deflate trailer gzip header deflate trailer 我正在寻找一个基本上可以让我执行
  • 使用实体框架从 2 个表返回数据

    我正在使用 MVC3 和实体框架 但我需要来自不同表的更多数据 通常我会做这样的事情来从表中获取数据 Table Users id username 在代码中我会做这样的事情来获取所有用户 public static IEnumerable
  • 如何防止在 ActiveX 方法调用期间重新进入 WPF 事件处理程序?

    我们从 WPF 和 STA 应用程序中调用 ActiveX 组件上的方法 此调用是通过以下方式后期绑定执行的 res ocx GetType InvokeMember methodName flags null ocx args 其中 oc
  • 从同一个类中的另一个构造函数调用构造函数

    我有一个带有两个构造函数的类 C 这是代码片段 public class FooBar public FooBar string s constructor 1 some functionality public FooBar int i
  • 在视口中查找 WPF 控件

    Updated 这可能是一个简单或复杂的问题 但在 wpf 中 我有一个列表框 我用一个填充数据模板从列表中 有没有办法找出特定的数据模板项位于视口中 即我已滚动到其位置并且可以查看 目前我连接到了 listbox ScrollChange
  • WebBrowser.Print() 等待完成。 。网

    我在 VB NET 中使用 WebBrowser 控件并调用 Print 方法 我正在使用 PDF 打印机进行打印 当调用 Print 时 它不会立即启动 它会等到完成整个子或块的运行代码 我需要确保我正在打印的文件也完整并继续处理该文件
  • 如何在richtextbox中使用多颜色[重复]

    这个问题在这里已经有答案了 我使用 C windows 窗体 并且有 richtextbox 我想将一些文本设置为红色 一些设置为绿色 一些设置为黑色 怎么办呢 附图片 System Windows Forms RichTextBox有一个

随机推荐

  • UnsatisfiableError:发现以下规范彼此不兼容:

    我在 Ubuntu 16 04 上运行 并且遇到了 Anaconda 问题 由于软件包不一致 我无法再安装 更新或删除软件包 conda info NVIDIA no NVIDIA devices found active environm
  • 如何在签到前获取 place_id ?

    我的应用程序允许用户使用纬度 经度和地名登录 Facebook 但我不知道如何处理 place 参数 有什么方法可以获取或创建一个吗 每个可签到的地点都必须有一个有效的地点 Facebook 页面 The place参数取入page id地
  • admob广告不显示

    我制作了一个简单的应用程序 并在其中添加了一个广告 但它没有显示在设备中 我的代码中没有错误 xml页面
  • Dockerfile 构建引发不够范围:公共 openjdk 映像授权失败

    我正在尝试使用以下命令运行以下 Dockerfile docker compose up remove orphans force recreate build d Dockerfile FROM maven 3 6 3 jdk 11 as
  • Java中如何查找CPU密集型类?

    我有一个使用多线程的 Java 大型程序 在某些情况下 程序开始使用我的八核系统中的三个核心的 100 在正常使用中 程序以 1 2 的速度使用所有核心 如何找到重载核心的类 使用分析器 例如与 jdk 1 6 0 10 捆绑的 jvisu
  • BIO中的B代表什么?

    OpenSSL 使用称为 I O 抽象BIO http www openssl org docs crypto bio html 但我在文档中找不到任何地方说明 B 代表什么 IO 显然是输入 输出 各种网站表明 B 代表basic or
  • jQuery 自动淡入下一个 html 元素然后循环重新启动

    I have a a a a 其中 i 是从 1 开始的当前迭代的值 并将呈现如下内容 a a a a 我需要的是一个脚本 仅使第一个元素保持可见 然后在几秒钟 假设 4 5 后淡出并淡入下一个元素 并重复这个循环直到最后一个元素 然后循环
  • 如何知道这个线程是否是UI线程

    Android 上有什么方法可以知道运行我的代码的线程是否是 UI 线程 在摇摆有SwingUtilities isEventDispatchThread 告诉我我是否在 UI 线程上 Android SDK 中是否有任何函数可以让我知道这
  • 将查询转换为存储过程

    下面是一个包含临时表的大查询 我一直在试图找出将其转换为存储过程的语法 我似乎无法弄清楚 我应该能够使用变量选择日期范围 Report Start DT and Report End DT CREATE PROCEDURE gw ppp d
  • Selenium Headless Chrome 和语言设置

    我正在使用 python 中的 selenium 和 chrome 驱动程序 我可以像这样设置 chrome 浏览器的语言 options webdriver ChromeOptions options add experimental o
  • 多重继承:派生类仅从一个基类获取属性?

    我试图学习Python中多重继承的概念 考虑一个类Derv派生自两个类 Base1 and Base2 Derv仅继承第一个基类的成员 class Base1 def init self self x 10 class Base2 def
  • Angular 路由的奇怪行为

    我之前曾问过我奇怪的路由问题 我现在有一个解决方案 但仍然偶尔会有奇怪的行为 我的页面应该转到 登录 一旦成功 然后转到 主 这实际上现在有效 除了转到登录 gt 主页 gt 空白 gt 主页 最后的 闪烁 或刷新我不明白 这解释了最初的行
  • SQL - 抑制重复的*相邻*记录

    我需要运行一个 Select 语句 DB2 SQL 该语句不会根据某个字段提取相邻行重复项 具体来说 我想找出数据何时changes 这变得很困难 因为它可能会变回其原始值 也就是说 我有一个大致类似于下面的表格 按字母排序 然后按日期排序
  • 监控封闭图 Akka Stream

    如果我创建了一个RunningGraph在 Akka Stream 中 我怎么知道 从外部 当所有节点因完成而被取消时 当所有节点因错误而停止时 我认为没有办法对任意图执行此操作 但是如果您可以控制图 则只需将监视接收器附加到每个可能失败或
  • QSlider值改变信号

    我使用 QSlider v4 6 进行输入并向用户提供反馈 对于反馈 我将调用 setValue 方法 我试图找到一个仅当用户修改该值时才会触发的信号 当用户更改值以及我调用 setValue 时 将触发 valueChanged 信号 s
  • 什么是 android:sharedUserLabel 以及它在 android:sharedUserID 之上添加了哪些附加值?

    文档 http developer android com guide topics manifest manifest element html uid http developer android com guide topics ma
  • 替换 只替换第一个

    我使用以下代码允许 JQuery UI 工具提示函数中的换行符 function document tooltip linebreak tooltip content function callback callback this prop
  • 如何以低廉的成本确定列是否只包含 NULL 记录?

    我有一个大表 有 500 列和 100M 行 基于一个小样本 我相信只有大约 50 列包含任何值 其他 450 列仅包含 NULL 值 我想列出不包含数据的列 在我当前的硬件上 查询每一列大约需要 24 小时 select count 1
  • 配置“:app:api”包含在依赖项解析中后无法更改它的依赖项

    无法更改配置的依赖关系 应用程序 api 当它被包含在依赖解析中之后 我也遇到了同样的错误 谢谢 Dominik https stackoverflow com users 1653268 dominik kunicki用于链接到重复项is
  • 正则表达式匹配数字或特定字符串(即“全部”)

    这听起来很简单 但我的正则表达式知识有限 我需要一个表达式来匹配十进制数或字符串 all 就像在范围验证器中允许单词 all 代表最大范围一样 我认为这样的事情可能会起作用 d d any 但以上不适用于 任何 这是一个不使用正则表达式的解