Products
GG网络技术分享 2025-03-18 16:15 2
I have this text:
/*** @var \\guervyl\\cbind_attr_testBundle\\Entity\\Category
*
* @ORM\\ManyToOne(targetEntity=\"guervyl\\cbind_attr_testBundle\\Entity\\Category\", inversedBy=\"song\")
* @ORM\\JoinColumns({
* @ORM\\JoinColumn(name=\"category_id\", referencedColumnName=\"id\")
* })
*/
private $category;
/**
* @var \\guervyl\\cbind_attr_testBundle\\Entity\\User
*
* @ORM\\ManyToOne(targetEntity=\"guervyl\\cbind_attr_testBundle\\Entity\\User\", inversedBy=\"song\")
* @ORM\\JoinColumns({
* @ORM\\JoinColumn(name=\"user_id\", referencedColumnName=\"id\")
* })
*/
private $user;
I want to get that part to edit:
* @ORM\\ManyToOne(targetEntity=\"guervyl\\cbind_attr_testBundle\\Entity\\Category\", inversedBy=\"song\")* @ORM\\JoinColumns({
* @ORM\\JoinColumn(name=\"category_id\", referencedColumnName=\"id\")
* })
*/
private $category;
I have that expression that stop on the $
: (\\*.*@ORM\\\\ManyToOne\\(.*)(\\)(?:\\s|.)*?private \\$)
But when I try to select the rest category;
, when I set the c I got no match (timeout): (\\*.*@ORM\\\\ManyToOne\\(.*)(\\)(?:\\s|.)*?private \\$c)
I want that regex to work: (\\*.*@ORM\\\\ManyToOne\\(.*)(\\)(?:\\s|.)*?private \\$category;)
What\'s wrong with my Regex?
图片转代码服务由CSDN问答提供
感谢您的意见,我们尽快改进~
功能建议我有这样的文字:</ p>
/ ** * @var \\ guervyl \\ cbind_attr_testBundle \\ Entity \\ Category
*
* @ORM \\ ManyToOne(targetEntity =“guervyl \\ cbind_attr_testBundle \\ Entity \\ Category”,inversedBy =“song”)
* @ORM \\ JoinColumns({\\ n * @ORM \\ JoinColumn(name =“category_id”,referencedColumnName =“id”)
*})
* /
nrivate $ category;
/ **
* @var \\ guervyl \\ cbind_attr_testBundle \\ 实体\\用户
*
* @ORM \\ ManyToOne(targetEntity =“guervyl \\ cbind_attr_testBundle \\ Entity \\ User”,inversedBy =“song”)
* @ORM \\ JoinColumns({
* @ORM \\ JoinColumn(name) =“user_id”,referencedColumnName =“id”)
*})
* /
private $ user;
</ code> </ pre>
我想要编辑该部分 :</ p>
* @ORM \\ ManyToOne(targetEntity =“guervyl \\ cbind_attr_testBundle \\ Entity \\ Category”,inversedBy =“song”)* @ORM \\ JoinColumns({
* @ORM \\ JoinColumn(name =“category_id”,referencedColumnName =“id”)
*})
* /
private $ category;
</ code> </ pre>
我有这个 停在 $ </ code>上的表达式:(\\ *。* @ ORM \\\\ ManyToOne \\(。*)(\\)(?:\\ s |。)*?private \\ $)< / code> </ p>
但是当我尝试选择其余的类别; </ code>时,当我设置c时我没有匹配(超时):(\\ *。* @ ORM \\\\ ManyToOne \\(。*)(\\)(?:\\ s |。)*?private \\ $ c)</ code> </ p>
我想要那个正则表达式 工作:(\\ *。* @ ORM \\\\ ManyToOne \\(。*)(\\)(?:\\ s |。)*?private \\ $ category;)</ code> </ p>
我的正则表达式出了什么问题?</ p>
</ div>
网友观点:
The matching pattern could be:
.*ManyToOne(.|)*category;
The pattern means:
.* Match anything zero or more timesManyToOne Literally match \\\"ManyToOne\\\"
(.|
)* Match anything (including line breaks) zero or more times
category; Literally match \\\"category;\\\"
The resulting match would be:
* @ORM\\ManyToOne(targetEntity=\\\"guervyl\\cbind_attr_testBundle\\Entity\\Category\\\", inversedBy=\\\"song\\\")* @ORM\\JoinColumns({
* @ORM\\JoinColumn(name=\\\"category_id\\\", referencedColumnName=\\\"id\\\")
* })
*/
private $category;
Fiddle: Live Demo
You\'re trying to get comments out of a PHP file using regex? Not sure if you\'re aware, but PHP includes functions for parsing the language which allow you to grab the comments (and other parts of the code) very easily without any regex at all.
The function you\'re looking for is token_get_all()
, and you can get some example code that does exactly what you want from this answer here on SO.
andorid 正则表达式报错,求如何解决?
java 的look behind 不支持可变长度。去掉中间的“*”,换成其他。
Demand feedback