我试图使用正则表达式来评估给定路径是否有效:
可接受的值列表:
1. /a_B_1/b_Sc2/c_d3/23_DS_xy/some_file_name.txt
2. /x_y_q/ffs/www/A/a_ol/some_file_name.txt
3. /tsf/ggg/wWw/abc/a_o@l/some=file name.csv
4. /a/b/c/d/some file.txt
正如您在所有群组中看到的,可接受的范围是[a-zA-Z0-9_]
。只有最后一组可以有spaces, @, =
。
团体订购:/<group1>/<group2>/<group3>/<group4>/<group5>
。
第5组可以有子目录,因此可以有'*'
。
我试过了:
"""/?[^/\\n]+/([^/\\n]+)/([^/\\n]+)/([^/\\n]+)/([^/\\n]+)/.*""".r
"""/(^[a-zA-Z0-9-_]+)/(^[a-zA-Z0-9-_]+)/(^[a-zA-Z0-9-_]+)/(^[a-zA-Z0-9-_]+)/(^[a-zA-Z0-9-_\\s]*)""".r
"""/([\\w,\\s-_]+)/([\\w,\\s-_]+)/([\\w,\\s-_]+)/([\\w,\\s-_]+)/([\\w,\\s]*)""".r
有人可以指导吗?
示例代码
val regex = """ ... """.r
val testString = "/a/b/c/d/some file.txt"
regex.findFirstMatchIn(testString) match {
case Some(r) => println(r)
case _ => println("Regex did not match")
}
答案 0 :(得分:0)
不确定您的问题是什么,但请注意,您不需要在三引号字符串中转义后退。
像这样div {
border: 2px solid rgba(0,0,0,0.1);
width: 150px;
}
a {
width: 100px;
display:inline-block;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
似乎应该按照你所描述的那样做。