我有这个RegExp:

^(?!^(PRN|AUX|CLOCK\$|NUL|CON|COM\d|LPT\d|\..*)(\..+)?$)([a-zA-Z]|)(\:|)[^\x00-\x1f\'\?\-\*\:\"\;\|\/]+$

这不允许文件名带有单破折号。 但是我不想只允许双破折号(在文件名/文件夹中的任何地方),单破折号应该可以。

感谢您提供任何信息。

#1楼 票数:1 已采纳

[^\\x00-\\x1f\\'\\?\\-\\*\\:\\"\\;\\|\\/]+末尾更改为允许该字符类的表达式,可以选择后面跟一个破折号字符类,重复任意次。如果您愿意,还可以添加可选的前导和尾划线(我在这里添加了它们,因为比解释起来容易:-)

^(?!^(PRN|AUX|CLOCK\$|NUL|CON|COM\d|LPT\d|\..*)(\..+)?$)([a-zA-Z]|)(\:|)-?[^\x00-\x1f\'\?\-\*\:\"\;\|\/]+(-[^\x00-\x1f\'\?\-\*\:\"\;\|\/]+)*-?$

我需要至少一个非破折号; 如果您要允许一个破折号,则第一个非可选组可以包括该破折号,但是尾随上下文必须看起来不同。

我会使用非捕获组,但是您不会告诉您正在使用哪种正则表达式,因此也许您没有它们。

  ask by Khrys translate from so

未解决问题?本站智能推荐:

1回复

URL正则表达式中的破折号

我使用以下正则表达式从文本中获取网址(例如"this is text http://url.com/blabla possibly some more text" )。 这适用于所有URL,但我发现它不适用于缩短的URL,例如: "blabla bla http://ff.im/-bEnA
2回复

正则表达式中的破折号

根据文档, String.prototype.match()必须返回字符串String.prototype.match()则表达式的所有匹配项。 然而, 仅返回["09:00"] ,而预期结果是["09:00", "21:00"] 。 为什么? 顺便一提, 返回["Foo ", " bar ", "
1回复

如何在正则表达式中添加破折号和破折号

我想将客户端正则表达式验证添加到inlcude en-dash(–)和em-dash(—) 谁能帮我吗 ?
1回复

用破折号匹配正则表达式

我在下面有这个正则表达式,它适用于看起来像这样的字符串 但如果有一个短划线( - )就像这个hello/hi-there喜欢那样失败了 另外,我希望它能匹配 你好或 你好/喜欢那里 你好/ HI-有/微笑 任何想法如何解决这个问题? 谢谢
4回复

破折号的正则表达式问题

我对正则表达式有一些问题。 我正在测试机智案例1 上面的表达式可以成功地匹配“浇水”。 但是,如果我在案例2中添加了一个连字符: 它不能与“水浇”中的浇水相匹配。 它只有在我将“watering”表达式移到前面时才有效,如案例3所示: 但我希望找出案例编号2是否有任何解决方
3回复

正则表达式仅包含数字和破折号

我在JavaScript表单验证中遇到问题。 我必须以这种格式存储数字1-74347064527我已经尝试过以下正则表达式,但无法正常工作: 为此建议一些正则表达式。 亲切的问候。
2回复

正则表达式删除破折号后的0

我有一个pandas dataframe列,数字之间都有一个破折号,例如: “ 123-045” 我想知道反斜杠后是否有删除零,使上面的例子 “ 123-45” ? 是否可以将工艺条件应用于整个色谱柱? 我已经使用了for循环,使用python字符串函数来检查破折号后的
2回复

正则表达式。删除破折号。

我有一大堆名字。 该软件将它们命名为很长并且无法覆盖它。 我只想取出我需要的文件名。 我一直在使用正则表达式,因为感觉它应该能够获得字符串的这一部分。 任何帮助都会很棒我花了一天没有运气。 这是输出。 UCM - S - 加载 1H_lester.virata.sfw811 - Sheet - 1