gpt4 book ai didi

regex - 我可以安全地使用哪些字符来表达正则表达式中的自定义含义

转载 作者:可可西里 更新时间:2023-11-01 11:35:21 27 4
gpt4 key购买 nike

我的应用程序中的用户将使用正则表达式来指定应用程序应该使用哪些文件以及应该排除哪些文件,例如包含匹配 foo.*\.txt

的文件

但是有时过滤器需要使用只能在运行时被应用程序知道的值。例如,如果过滤器是 foo[SPECIALVALUEHERE].*\.txt 而特殊值恰好是 bar,则实际过滤器将是 foobar.*\.txt

哪些字符可以用来指定[SPECIALVALUEHERE]?我想为了避免歧义,它不需要是正则表达式中的特殊/保留字符,也不是文件中会出现的字符。客户的另一个要求是它必须只有一个(或最多两个或三个)字符,所以像 %SPECIALVALUE% 这样的东西是不可能的。

我可以为此目的使用哪个字符或字符组合的任何建议。

最佳答案

在 Windows 上,您可以使用例如 =,这不是正则表达式中的特殊字符,但不允许出现在文件名中 (here a table of characters that can't be used in windows filenames)。然后,您可以将 = 替换为您需要的内容。

否则在 unix 系统上它是相当困惑的,因为任何字节序列都可以不受限制地成为文件名的一部分,here a reference question on serverfault ,因此,即使与语言无关,您也应该至少决定要在哪些系统上使用正则表达式。

关于regex - 我可以安全地使用哪些字符来表达正则表达式中的自定义含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12677848/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com