Regex 用于验证用分隔符分隔的文本的正则表达式

Regex 用于验证用分隔符分隔的文本的正则表达式,regex,Regex,我需要验证以下字符串: “Ahshshsh | dsadhasd | asdasd” 规则是用管道分隔的自由文本 每个文本不应超过50个字符 不应以管道开始或结束 应该有用 如果“自由文本”不仅仅是指大小写字符,请修改[A-Za-z]以包含其他字符,例如[A-Za-z0-9]将是大小写字符和数字等。如果(!str.StartsWith(“|”)和!str.EndsWith(“|”)和str.Split(“|”)都可以(x=>x.Length@juharr和x.Length>0@Washing

我需要验证以下字符串: “Ahshshsh | dsadhasd | asdasd”

  • 规则是用管道分隔的自由文本
  • 每个文本不应超过50个字符
  • 不应以管道开始或结束
应该有用


如果“自由文本”不仅仅是指大小写字符,请修改[A-Za-z]以包含其他字符,例如[A-Za-z0-9]将是大小写字符和数字等。

如果(!str.StartsWith(“|”)和!str.EndsWith(“|”)和str.Split(“|”)都可以
(x=>x.Length@juharr
和x.Length>0
@WashingtonGuedes它说不应该超过50个字符。除了第一个和最后一个值之外,没有什么不允许值为空的。但是这可能比描述更符合目的。谢谢,但我正在尝试避免代码,只使用regex!谢谢anyway@Anass唯一的原因避免使用代码的方法是,如果你需要将其插入到需要正则表达式的内容中。因为你没有明确指出正则表达式并不总是唯一的方法。我不确定[a-zA-Z]是否与自由文本相同。此外,也没有任何规定内部值不能为空,如“abc | | def”@juharr是的,你是对的,尽管这个问题也不够具体,无法回答。我将用其他一些可能性来扩展我的答案。
/^[A-Za-z]{1,50}(?:\|[A-Za-z]{1,50})*$/