Php 正则表达式:如何添加捕获组?

Php 正则表达式:如何添加捕获组?,php,regex,Php,Regex,我目前有: 我想添加另一个捕获组,以便在组之前捕获文本值 例如: Je naam (verplicht) [text* your-test] 我的正则表达式当前捕获[文本*您的测试]。我想添加另一个组来捕获Je-naam verplicht部分 如何实现此目的?您可以将此正则表达式与其他捕获组一起使用: ([^][\h]+(?:\h+[^][\h]+)*)?\h+\[(?:\w+\*?\h+)?([^][]+)] [^][\h]+?:\h+[^][\h]+*?是新的可选捕获组,它匹配[…]之

我目前有:

我想添加另一个捕获组,以便在组之前捕获文本值

例如:

Je naam (verplicht) [text* your-test]
我的正则表达式当前捕获[文本*您的测试]。我想添加另一个组来捕获Je-naam verplicht部分


如何实现此目的?

您可以将此正则表达式与其他捕获组一起使用:

([^][\h]+(?:\h+[^][\h]+)*)?\h+\[(?:\w+\*?\h+)?([^][]+)]
[^][\h]+?:\h+[^][\h]+*?是新的可选捕获组,它匹配[…]之前的文本并将其捕获到单独的组中。 [^][\h]+匹配1个或多个非[,]和空格的字符。
您可以将此正则表达式与其他捕获组一起使用:

([^][\h]+(?:\h+[^][\h]+)*)?\h+\[(?:\w+\*?\h+)?([^][]+)]
[^][\h]+?:\h+[^][\h]+*?是新的可选捕获组,它匹配[…]之前的文本并将其捕获到单独的组中。 [^][\h]+匹配1个或多个非[,]和空格的字符。
谢谢你的回答!它在沙箱中工作得很好,但是当我在应用程序中尝试它时,捕获组只返回空数组,而文本/字符串是相同的。其他捕获组仍在工作。知道为什么会发生这种情况吗?如果文本相同,则正则表达式应该适用于任何PHP代码。请注意,在PHP中,转义会转义某些字符,因此您需要对它们进行双重转义,或者全部转义才能确定。”/[^][\\h]+?:\\h+[^][\\h]+*?\\h+\\\[?:\\w+\\*?\\h+?[^][+]/'我在这里问了这个问题:谢谢,让我查一下。谢谢你的回答!它在沙箱中工作得很好,但是当我在应用程序中尝试它时,捕获组只返回空数组,而文本/字符串是相同的。其他捕获组仍在工作。知道为什么会发生这种情况吗?如果文本相同,则正则表达式应该适用于任何PHP代码。请注意,在PHP中,转义会转义某些字符,因此您需要对它们进行双重转义,或者全部转义才能确定。”/[^][\\h]+?:\\h+[^][\\h]+*?\\h+\\[?:\\w+\\*?\\h+?[^][+]/'我在这里问了这个问题:谢谢,让我查一下。