【问题标题】:C# asp.net Regular expression for the formats value, *value, value* and *value*用于格式 value、*value、value* 和 *value* 的 C# asp.net 正则表达式
【发布时间】:2014-02-05 20:10:05
【问题描述】:

在 .net 中,我想为接受以下 4 种类型的输入编写一个正则表达式

1) value
2) *value
3) value*
4) *value*

这里的值是数字和字母的组合,例如:aa123、123aa、ab12ba a12a33。该值也可以只有字母或数字,如AABB、1234等,字母包括大写和小写

【问题讨论】:

  • ...你试过什么?
  • ^\*?[a-z0-9]+\*?$ ?
  • 哪种正则表达式语言?
  • @hperboreus 你可以修改它,以便在第一个 * 和最后一个 * 之间不接受其他通配符,它​​还应该接受大写字母,值可以是字母和数字的组合,也可以是数字
  • @hugh bothwell 我尝试了不接受任何通配符搜索的正常值^*{0,1}(a-z|A-Z|0-9)*[^#$%^& *()']**{0,1}$

标签: c# asp.net .net regex


【解决方案1】:

在 Perl 正则表达式中,我会使用

^\*?\w+\*?\z
  • \w 匹配单词字符,包括字母和数字。

但这比您要求的要多一点。为了匹配您的要求,可以使用以下内容:

^\*?[\pL\p{Nd}]+\*?\z
  • \pL 匹配字母。
  • \p{Nd} 匹配数字。

以上两个都将匹配*é*。如果您只将 a-z、A-Z 和 0-9 视为字母和数字,则可以改用以下内容:

^\*?[a-zA-Z0-9]+\*?\z

【讨论】:

    【解决方案2】:

    regex 是一个状态机,你去

    【讨论】:

      猜你喜欢
      • 2011-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多