diff --git a/src/Languages/Php/Patterns/SinglelineCommentPattern.php b/src/Languages/Php/Patterns/SinglelineCommentPattern.php index bb9535c..5b1dd0c 100644 --- a/src/Languages/Php/Patterns/SinglelineCommentPattern.php +++ b/src/Languages/Php/Patterns/SinglelineCommentPattern.php @@ -14,7 +14,7 @@ public function getPattern(): string { - return '(?\/\/(.)*)'; + return '(?(?:\/\/|#[^\[])(.)*)'; } public function getTokenType(): TokenTypeEnum diff --git a/tests/Languages/Php/Patterns/SinglelineDocCommentPatternTest.php b/tests/Languages/Php/Patterns/SinglelineDocCommentPatternTest.php index b5ff231..5ee16a2 100644 --- a/tests/Languages/Php/Patterns/SinglelineDocCommentPatternTest.php +++ b/tests/Languages/Php/Patterns/SinglelineDocCommentPatternTest.php @@ -19,5 +19,23 @@ public function test_pattern() content: '$bar // foo', expected: '// foo', ); + + $this->assertMatches( + pattern: new SinglelineCommentPattern(), + content: '$bar # foo', + expected: '# foo', + ); + + $this->assertMatches( + pattern: new SinglelineCommentPattern(), + content: '$bar #[IncompleteAttribute', + expected: null, + ); + + $this->assertMatches( + pattern: new SinglelineCommentPattern(), + content: '$bar #[Attribute]', + expected: null, + ); } }