要“递归搜索字符串”,常见有几种场景,下面按最常见需求给你说明,并附上示例。如果你指的是某种特定语言或场景(比如代码里搜字符串、文件内容搜索、算法里的字符串匹配),可以再告诉我。
grepgrep -r "要搜索的字符串" /path/to/dir
常用参数:
grep -rn "abc" . # 显示行号
grep -rni "abc" . # 忽略大小写
grep -r "abc" . --include="*.py" # 只搜 py 文件
Select-String -Path "*.txt" -Pattern "abc" -Recurse
或:
Get-ChildItem -Recurse | Select-String "abc"
本质:回溯 / 递归匹配(常用于正则、DFS)
def search(s, pattern, i=0):
if not pattern:
return True
if i >= len(s):
return False
if s[i] == pattern[0]:
return search(s, pattern[1:], i + 1)
return search(s, pattern, i + 1)
print(search("hello world", "world")) # True
import os
def search_file(root, target):
for entry in os.listdir(root):
path = os.path.join(root, entry)
if target in entry:
print(path)
if os.path.isdir(path):
search_file(path, target)
search_file(".", "test")
import re
text = "a1b2c3"
def find_digits(s):
if not s:
return []
if re.match(r"\d", s[0]):
return [s[0]] + find_digits(s[1:])
return find_digits(s[1:])
print(find_digits(text))
你可以直接告诉我:
我可以给你精准到行、可直接用的代码。