-
找出语句中的变量——正则表达式10
ab123_c == 'xx_123_ABC'|| a==1 && ttt != “aaa\"'\\” || xxx >= 1.12345 && abc==true && ddd==false
找出这条语句中的所有变量2012年9月05日 19:29
1个答案 按时间排序 按投票排序
-
采纳的答案
public class Main { public static void main(String[] args) throws IOException { String str = "ab123_c == 'xx_123_ABC'|| a==1 && ttt != \"aaa\"'\" || xxx >= 1.12345 && abc==true && ddd==false"; String variable = "([a-zA-Z_][a-zA-Z0-9_]*)"; String keyword = "(true|false)"; Matcher variableMatcher = Pattern.compile(variable).matcher(str); while(variableMatcher.find()) { String var = variableMatcher.group(1); if(Pattern.matches(keyword, var)) { continue; } int index = str.indexOf(var); boolean isConstString = false; do { if(isConstString(str, str.indexOf(var) - 1)) { isConstString = true; break; } index = str.indexOf(var, index+1); } while(index != -1); if(isConstString) { continue; } System.out.println(var); } } private static boolean isConstString(String str, int index) { if(index <= 0) { return false; } char c = str.charAt(index); return c == '\'' || c == '\"'; } }
这种方式肯定不好,需要使用如ANTLR 进行词法/语法分析。2012年9月05日 20:17
相关推荐
1. 数据提取:AWK可以从大型日志文件中提取特定信息,例如找出访问次数最多的IP地址。 2. 数据转换:它可以将数据从一种格式转换为另一种格式,如CSV到JSON。 3. 统计分析:AWK可以进行简单的统计计算,如平均值、中...
5. 正则表达式:正则表达式是进行文本匹配和搜索的强大工具,是Shell编程中的重要组成部分。 6. 脚本调试与优化:如何调试Shell脚本,找出并修复错误,以及如何编写高效、可读性强的脚本。 7. 高级特性:如数组、...
例如,要找出一个CSV文件中价格大于100的项,可以使用以下命令: ```bash awk -F ',' '$3 > 100 {print $0}' sales.csv ``` 这里,`-F ','`指定了字段分隔符为逗号,`$3 > 100`是模式,表示匹配第三列值大于100的行...
例如,找出句子中的所有汉字或特定格式的注音。 5. **拼音库**:为了获取汉字的发音,可以使用Python的第三方库,如`pypinyin`,它能够将汉字转换为拼音,包括多音字的各个读音。 6. **数据库操作**:系统可能需要...
书中探讨了文本流I/O、正则表达式和文本模式匹配,这些都是处理文本数据的有效工具。 9. **网络编程**:网络编程涉及网络协议、套接字编程和异步I/O等内容。书中介绍了如何编写网络应用程序,处理客户端-服务器通信...
最后,书中会讨论性能优化和最佳实践,帮助开发者写出更高效、可维护的代码,并且会讲解如何调试JavaScript,找出并修复程序中的错误。 总的来说,《JavaScript权威指南第四版》是一本覆盖了JavaScript语言全貌的...
- 基于数据流的分析:模拟程序执行路径,找出运行时可能出现的严重错误,如资源泄漏和安全漏洞。 4. 静态分析实例: - 在这个基于规则的案例中,我们检查Switch语句是否包含Default分支。如果缺乏Default分支,...
4. **字符串处理**:字符串匹配、模式查找、正则表达式等在实际问题中很常见。 5. **文件操作和输入输出**:学会如何读写文件,处理标准输入输出,这对很多实际的编程挑战至关重要。 6. **逻辑思维和问题分析**:...
模式可以是正则表达式,用于匹配输入行;动作则是在匹配成功后执行的代码。例如,"BEGIN"模式在处理任何输入前执行,"END"模式在处理完所有输入后执行,而"{print $1}"这样的模式-动作对会打印每行的第一个字段。 ...
在解决CodeWars挑战时,学会使用console.log、debugger、开发者工具等调试技巧,可以帮助找出代码中的问题,提高解决问题的速度。 总的来说,CodeWars-daily-challenges项目是一个绝佳的学习和提升JavaScript技能的...
5. **遵循Shellcheck**:Shellcheck是一个静态分析工具,能找出脚本中的潜在问题和不一致之处。 五、Bash编程进阶 1. **信号处理**:使用`trap`命令捕捉并处理信号,如`trap 'clean_up_function' EXIT`在脚本退出...
此外,还将介绍常见的调试技巧和工具,帮助开发者找出并修复代码中的错误。 【Python3实战项目】 教程中的实战部分,可能会包含Web开发(如使用Flask或Django框架)、数据分析(使用Pandas和NumPy)以及自动化脚本...
9. **1.9 在一个语句中赋值和测试**:演示了如何在一个表达式中同时完成赋值和条件判断。 10. **1.10 使用列表推导式代替`map`和`filter`**:介绍如何使用列表推导式来简化常见的数据转换操作,使其更加直观和易于...
- **使用正则表达式**:在脚本中应用正则表达式进行文本匹配和处理。 - **脚本优化**:了解如何提高脚本性能,减少资源消耗。 通过CrownLinux项目,学生不仅可以深入理解Linux操作系统,还能掌握一门强大的自动化...
10. **正则表达式**:在Shell脚本中,可以利用正则表达式进行文本匹配和处理,如`grep`、`sed`、`awk`等命令。 通过学习和实践以上知识点,你可以编写出高效、实用的Shell脚本来自动化日常的工作流程,提升工作效率...
7. **错误处理和调试**:Perl提供了条件语句、异常处理和debugging工具来帮助开发者找出和修复问题。 8. **命令行参数**:在命令行中运行Perl脚本时,可以传递参数给脚本,通过`$ARGV[0]`, `$ARGV[1]`等获取这些...
以上只是JavaScript常用函数和概念的一部分,JavaScript还有许多其他功能和API,如数组操作、正则表达式、事件处理、AJAX异步通信等,学习JavaScript意味着深入理解这些概念,并能够灵活运用到实际项目中。
10. **调试技巧**:学会使用`print`语句、断点、`pdb`调试器等工具,有助于找出并修复代码中的错误。 在完成AOC2019的挑战过程中,你不仅能够巩固和提高Python编程技能,还能锻炼解决问题的能力,提升编程思维。...
可我找不到任何方法来声明这样的函数——感觉我需要一个返回指针的函数,返回的指针指向的又是返回指针的函数……,如此往复,以至无穷。 数组大小 1.23 能否声明和传入数组大小一致的局部数组,或者由其他参数...